2
我的用户界面中有一个datagrid。数据表将绑定到它。 数据表的使用可能具有不同的格式,所以我在后面的代码中为网格添加列和绑定值。见下:通过背景代码设置DataGridTextColumn.ElementStyle
for (int iLoop = 0; iLoop < dtGroup.Columns.Count; iLoop++)
{
DataGridTextColumn dgColumn = new DataGridTextColumn();
dgColumn.Header = dtGroup.Columns[iLoop].ColumnName;
dgColumn.Binding = new Binding(dtGroup.Columns[iLoop].ColumnName);
this.dgGroupMatrix.Columns.Add(dgColumn);
}
我想要的是让网格单元格的背景颜色基于价值。
我可以通过XAML来实现。
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path= operation_name}" Header="operation_name">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="Text" Value="V31">
<Setter Property="Background" Value="LightGreen"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
但我不能建立在XAML网格的列,该网格的怎么一回事,因为将有不同的格式。
我该怎么办?
当我运行它,我得到一个错误“的TextBlock” TargetType的不匹配元素“DataGridCell”被显示的UI之前的类型。我有没有想念? – LIU
我更正了我的错误:'dgColumn.Style = columnStyle'应该是'dgColumn.ElementStyle = columnStyle' –
@ deltonio2 - 请不要在代码中使用变量;我用这个问题的原始代码使它成为可执行文件 –