获取来自定义控件(继承自Contro基类)的定义在Generic.xaml或其他*.xaml中的对象

不管在SL或WPF中,在创建自定义控件时,我们有可能需要在Generic.xaml中定义多个控件的Style,定义的多了找起来就很麻烦,如果在单个文件里定义好,然后在Generic.xaml中包含(include)岂不是很好,Generic.xaml代码如下:


CustomControl1.cs:

CustomControl1.xaml:

<UserControl x:Class="WpfWFDataMage.Modules.Views.MaChineImageView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:WpfWFDataMage.Modules.Views" xmlns:i="http://schemas.microsoft.com/xaml/behaviors" mc:Ignorable="d" xmlns:prism="http://prismlibrary.com/" xmlns:c="clr-namespace:WpfWFDataMage.Modules.Contro" prism:ViewModelLocator.AutoWireViewModel="True" d:DesignHeight="200" d:DesignWidth="800"> <Grid> <Grid.Background> <RadialGradientBrush> <GradientStop Color="#3B9EC8" Offset="0"/> <GradientStop Color="#3B9EC8" Offset="2"/> </RadialGradientBrush> </Grid.Background> <Grid x:Name="MainGrid"> <!-- 第一个 Viewport3D --> <Viewport3D x:Name="FirstViewport" MouseWheel="Viewport3D_MouseWheel"> <Viewport3D.OpacityMask> <RadialGradientBrush> <GradientStop Color="Black" Offset="0"/> <GradientStop Color="Transparent" Offset="1"/> </RadialGradientBrush> </Viewport3D.OpacityMask> <Viewport3D.Camera> <PerspectiveCamera x:Name="FirstCamera" Position="150,0,30" LookDirection="-150,0,-30" UpDirection="0,0,1" FieldOfView="20"/> </Viewport3D.Camera> <ModelVisual3D> <ModelVisual3D.Content> <AmbientLight Color="White"/> </ModelVisual3D.Content> </ModelVisual3D> <Viewport2DVisual3D> <Viewport2DVisual3D.Geometry> <MeshGeometry3D Positions="50,-50,0 50,50,0 -100,50,0 -100,-50,0" TriangleIndices="0,1,2 2,3,0" TextureCoordinates="0,1 1,1 1,0 0,0" /> </Viewport2DVisual3D.Geometry> <Viewport2DVisual3D.Material> <DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="White"/> </Viewport2DVisual3D.Material> <Border Width="1000" Height="1000"> <Border.Background> <VisualBrush TileMode="Tile" Viewport="0,0,15,40" ViewportUnits="Absolute"> <VisualBrush.Visual> <Border Width="10" Height="10" BorderThickness="0.2,0.5,0,0" BorderBrush="#3F3F3F" Opacity="0.8"/> </VisualBrush.Visual> </VisualBrush> </Border.Background> </Border> </Viewport2DVisual3D> <!-- 地板平面 --> <ModelVisual3D> <ModelVisual3D.Content> <GeometryModel3D> <GeometryModel3D.Geometry> <MeshGeometry3D Positions="-10,-0.5,-10 10,-0.5,-10 10,-0.5,10 -10,-0.5,10" TriangleIndices="0 1 2 0 2 3" TextureCoordinates="0,1 1,1 1,0 0,0" /> </GeometryModel3D.Geometry> </GeometryModel3D> </ModelVisual3D.Content> </ModelVisual3D> </Viewport3D> <!-- 第二个 Viewport3D --> <Viewport3D x:Name="SecondViewport" Margin="0,0,-10,-10" MouseWheel="Viewport3D_MouseWheel"> <Viewport3D.Camera> <PerspectiveCamera x:Name="SecondCamera" Position="0,-110,250" LookDirection="0,0,-1" FieldOfView="155"/> </Viewport3D.Camera> <ModelVisual3D> <ModelVisual3D.Content> <AmbientLight Color="White"/> </ModelVisual3D.Content> </ModelVisual3D> <Viewport2DVisual3D> <Viewport2DVisual3D.Geometry> <MeshGeometry3D Positions="-879,-350,0 879,-350,0 879,350,0 -879,350,0" TriangleIndices="0,1,2 2,3,0" TextureCoordinates="0,1 1,1 1,0 0,0" /> </Viewport2DVisual3D.Geometry> <Viewport2DVisual3D.Material> <DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="White"/> </Viewport2DVisual3D.Material> <Grid Width="758" Height="700" Background="Transparent"> <Canvas> <!-- 原水泵 --> <c:Pump Width="350" Height="350" Canvas.Left="1600" Canvas.Top="280"/> <c:RDouMaine Width="350" Height="350" Canvas.Left="1275" Canvas.Top="280"/> <c:HanjiecCahek Width="350" Height="350" Canvas.Left="475" Canvas.Top="280"/> <c:HanJiegongwei Width="350" Height="300" Canvas.Left="705" Canvas.Top="260"/> <!-- 文本标签 --><!-- <TextBlock Text="原水箱" Foreground="White" FontSize="20" Canvas.Left="70" Canvas.Top="420"/> <TextBlock Text="原水泵" Foreground="White" FontSize="20" Canvas.Left="380" Canvas.Top="420"/> <TextBlock Text="进水阀" Foreground="White" FontSize="20" Canvas.Left="400" Canvas.Top="250"/> <TextBlock Text="多介质" Foreground="White" FontSize="20" Canvas.Left="560" Canvas.Top="420"/> <TextBlock Text="活性碳" Foreground="White" FontSize="20" Canvas.Left="710" Canvas.Top="420"/> <TextBlock Text="微滤" Foreground="White" FontSize="20" Canvas.Left="860" Canvas.Top="420"/> <TextBlock Text="高压泵" Foreground="White" FontSize="20" Canvas.Left="990" Canvas.Top="420"/> <TextBlock Text="浓排阀" Foreground="White" FontSize="20" Canvas.Left="1140" Canvas.Top="420"/> <TextBlock Text="人工检测工位" Foreground="White" FontSize="20" Canvas.Left="1700" Canvas.Top="520"/> <Ellipse Width="100" Height="100" Fill="Orange" Visibility="Collapsed"/>--> </Canvas> </Grid> </Viewport2DVisual3D> </Viewport3D> <Grid VerticalAlignment="Bottom" Height="0"> <Grid.RowDefinitions> <RowDefinition Height="100"/> </Grid.RowDefinitions> </Grid> </Grid> </Grid> </UserControl> 这个基础上改
最新发布
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值