我想遍历我的数据网格,如果一行有一定的值(例如值3,这个值是动态的,所以可以改变,但现在让我们说3),将单元格的背景颜色改为绿色。通过将数据网格绑定到数据表来填充数据网格。
这可能吗?
请参阅下面的datagrid和c#
<DataGrid Name="grid" ItemsSource="{Binding}" Height="300" Width="900"
AutoGenerateColumns="True"
VerticalScrollBarVisibility="Disabled" HorizontalAlignment="Center" VerticalAlignment="Top" RowHeight="40">
<DataGrid.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</DataGrid.ItemsPanel>
</DataGrid>
c#创建数据表
DataSet dataSet = new DataSet("myDS");
DataTable numbersTable = new DataTable("Numbers");
numbersTable.Columns.Add("Number", typeof(Int32));
for (int i = 1; i < 91; i++)
{
numbersTable.Rows.Add(i);
}
dataSet.Tables.Add(numbersTable);
grid.DataContext = numbersTable.DefaultView;
P.S。非常非常非常新的c#所以不要假设我知道你在说什么。原谅我的无知。
答案 0 :(得分:0)
您应该使用ItemTemplate风格的样式触发器。
编辑:完整的DataTemplate实现
<DataTemplate>
<DataTemplate.Resources>
<Style TargetType="TextBlock">
<Style.Triggers>
<Trigger Property="Text" Value="3">
<Setter Property="Background" Value="Green"/>
</Trigger>
</Style.Triggers>
</Style>
</DataTemplate.Resources>
<TextBlock Text="{Binding Mode=OneWay}"/>
</DataTemplate>
答案 1 :(得分:-1)
使用此
row.Cells[index].Style.BackColor = Color.Green;