我需要能够在属性和数据值为 true 时更改控件的 Style
。例如,我的绑定(bind)数据有一个 IsDirty
属性。当 IsDirty
为 true 并且选择了控件时,我想更改控件的背景颜色。我找到了 MultiTrigger
和 MultiDataTrigger
类...但在这种情况下,我需要以某种方式触发数据和属性。我该怎么做?
另一个注意事项:我需要能够在代码隐藏而不是 XAML 中执行此操作。
最佳答案
MultiDataTrigger 对 DependencyProperties 的作用与对普通属性的作用一样好。只需将绑定(bind)中的路径设置为依赖项属性的名称。
但是您需要小心设置该绑定(bind)的源,因为默认情况下源是触发器附加到的元素的 DataContext。如果触发器在可选对象的样式中使用,您可以使用 Binding 的 RelativeSource 属性:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsDirty}" Value="True" />
<Condition Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Self}}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Cyan" />
</MultiDataTrigger>
关于c# - WPF 在属性和数据值为真时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2921822/