Это немного старый код (до 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>
Код:
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));
}
}