Silverlight Datagrid:根据值更改单元格样式

Min*_*ras 3 c# silverlight datagrid cells

我有一些数据.如果数据满足某个条件,我想查看该数据并更改单元格(例如 - 背景颜色).不知何故,我无法弄清楚如何在Silverlight中做这个看似简单的事情.

Sim*_*ele 5

这是稍微陈旧的代码(来自RTM之前),但是做了类似于你正在寻找的东西.它检查一行中某个对象的某些数据,然后相应地设置该行的颜色.

XAML:

<my:DataGrid x:Name="Grid" Grid.Row="1" Margin="5" GridlinesVisibility="None" PreparingRow="Grid_PreparingRow">
    <my:DataGrid.Columns>
        <my:DataGridTextBoxColumn 
            DisplayMemberBinding="{Binding Cheese}" 
            Header="Cheese"></my:DataGridTextBoxColumn>
        <my:DataGridTextBoxColumn 
            DisplayMemberBinding="{Binding Biscuit}" 
            Header="Biscuit"></my:DataGridTextBoxColumn>
    </my:DataGrid.Columns>
</my:DataGrid>
Run Code Online (Sandbox Code Playgroud)

码:

this.Grid.AlternatingRowBackground = null; 

private void Grid_PreparingRow(object sender, DataGridRowEventArgs e)
{
    CheesyClass c = e.Row.DataContext as CheesyClass;
    if (c != null && c.Cheese == "cheddar")
    {
       e.Row.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 125, 125));
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 注意:LoadingRow是PreparingRow的新名称 (3认同)