自定义控件 - 将动画图像作为 xml



我们需要开发一个阀门自定义控件,该控件将根据OPC标签的值对阀门的打开/关闭位置进行动画处理。例如:如果阀标签的值为 1,则在打开位置绘制阀门。如果"阀门标签"的值为 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>

最新更新