在ListView中我有一个GridView,其中行背景的颜色取决于行的数据上下文中项目的属性。
目前,我使用ListView的ItemContainerStyle中的触发器设置颜色:
<DataTrigger Binding="{Binding Path=State}" Value="Active">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=State}" Value="Confirmed">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
这很好用,但是我希望绑定到颜色设置而不是数据触发器中的固定颜色。我可以在setter的Value属性中添加一个绑定,但是如果颜色设置发生变化,我希望GridView中的现有行颜色更新。在setter中绑定只会更新设置更改后添加的行的颜色。
我可以通过订阅我的设置或类似的属性更改事件来编写我的方法,但我希望有一个优雅的绑定技巧。
要求:
答案 0 :(得分:0)
什么是WPF中的GridView? DataGrid?
也许您可以使用Background
上的多重绑定和调色板对象绑定行的State
属性。