我可以使用如下内容轻松地为按钮添加一点发光效果:
<Button ...>
<Button.Effect>
<DropShadowEffect ... />
</Button.Effect>
</Button>
如何根据 ViewModel 中的值有条件地应用效果?
基本上,如果最近几天添加了新文档,我希望按钮“发光”。我可以提供 bool 值来指示是否需要发光作为 ViewModel 的属性。
我正在考虑只创建两个附加到同一命令的按钮,根据 ViewModel 隐藏一个按钮并显示另一个按钮。这确实可行,但似乎有点强制。
想法?
谢谢。
J
最佳答案
您需要为您的按钮创建一个样式 DataTrigger
像这样:
<Button Content="Hello" Command="{Binding HelloCommand}">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding SomeCondition}" Value="True">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
请注意,SomeCondition
是 View 模型中的 bool 属性。仅当 SomeCondition
为 true
时,才会应用效果。
关于wpf - 如何根据 ViewModel 中的值将条件效果应用于按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40243794/