我是WPF的新手,并试图找出如何根据列的值更改数据网格行的背景颜色。我看过一些使用数据触发器的人的例子:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding result}" Value="1">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding result}" Value="0">
<Setter Property="Background" Value="Green"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
我无法弄清楚它的代码方面是如何工作的
我将DataTable
绑定到DataGrid
,如下所示:
episodeDataGrid.DataContext = episodeTable.DefaultView;
我可以根据其中一列的文本触发DataTrigger吗?例如两行:
金额|结果
4000 | 0
5000 | 1
结果值为0的4000行为绿色,结果值为1的5000行为红色?
答案 0 :(得分:1)
DataTable.DefaultView
实际上与您的数据表不同。
或者,将数据上下文设置为表本身:
episodeDataGrid.DataContext = episodeTable;
或者,调整你的装订:
<DataTrigger Binding="{Binding Row.result}" Value="1">