我们需要开发一个阀门自定义控件,该控件将根据 OPC 标签的值对阀门的打开/关闭位置进行动画处理。例如:如果 Valve Tag 的值为 1,则将阀门拉到打开位置。如果 Valve Tag 的值为 0,则将阀门拉到关闭位置。该控件将公开一个属性以提供 TAG 名称。
可以通过多种方式对阀门进行动画处理。所以我们需要让应用程序使用控件来指定图像来绘制打开阀门/关闭位置。是否可以将要绘制的图像作为 xaml 项而不是将图像作为文件(例如:png 或 jpg)提供?
我应该为此做些什么?
我们需要开发一个阀门自定义控件,该控件将根据 OPC 标签的值对阀门的打开/关闭位置进行动画处理。例如:如果 Valve Tag 的值为 1,则将阀门拉到打开位置。如果 Valve Tag 的值为 0,则将阀门拉到关闭位置。该控件将公开一个属性以提供 TAG 名称。
可以通过多种方式对阀门进行动画处理。所以我们需要让应用程序使用控件来指定图像来绘制打开阀门/关闭位置。是否可以将要绘制的图像作为 xaml 项而不是将图像作为文件(例如:png 或 jpg)提供?
我应该为此做些什么?
您可以使用不同的DrawingBrush实例填充控制区域,具体取决于其状态。这些画笔可能在控件的资源中定义。
<UserControl.Resources>
<DrawingBrush x:Key="valveOpen">
...
</DrawingBrush>
<DrawingBrush x:Key="valveClosed">
...
</DrawingBrush>
</UserControl.Resources>
<!-- change Background when the state changes -->
<Grid x:Name="root" Background="{StaticResource valveOpen}">
...
</Grid>