ResourceDictionary中的绑定路径取决于VM属性

时间:2015-06-02 15:31:10

标签: c# wpf mvvm-light resourcedictionary

我创建了一个ResourceDictionary,它定义了一组在Button ControlTemplate的ContentPresenter中使用的System.Windows.Shapes.Path

我想基于ViewModel属性更改其中一个路径。如果true按钮使用ResourceDictionary中的一个路径,如果false是另一个路径。

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

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

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

这样的事情: <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