resourcedtionary中的绑定路径依赖于虚拟机属性

本文关键字:依赖于 虚拟机 属性 路径 绑定 resourcedtionary | 更新日期: 2023-09-27 17:52:35

我已经创建了一个ResourceDictionary,它定义了一堆System.Windows.Shapes.Path,用于Button ControlTemplate的ContentPresenter。

我想根据ViewModel属性改变其中一个路径。如果true按钮使用资源字典中的一个路径,如果false则使用不同的路径。

目前我只是在xaml中引用一个StaticResource来直接指向我想要显示的路径。

最好的方法是什么?

resourcedtionary中的绑定路径依赖于虚拟机属性

您必须通过引用资源字典中的元素来修改样式按钮的内容模板。

像这样:<Button.Style> <Style TargetType="Button"> <Setter Property="ContentTemplate" Value="{StaticResource cp2}"></Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="ContentTemplate" Value="{StaticResource cp1}"></Setter> </Trigger> </Style.Triggers> </Style> </Button.Style>

我使用鼠标悬停属性作为触发器来更改内容模板。你可以用DataTrigger代替Trigger