我正在使用DataGrid
并尝试更改每隔一行的默认背景颜色(奇数行为黄色,偶数行为白色),因为颜色与高亮颜色太相似。
这是我的代码:
MyDataGrid.LoadingRow += delegate(object sender, DataGridRowEventArgs e)
{
var currentRowContext = e.Row.DataContext;
if (currentRowContext.GetType()
.GetProperty("OBJECTID")
.GetValue(currentRowContext, null)
.ToString()]) % 2 == 0)
{
e.Row.Background = new SolidColorBrush(Colors.White);
}
else
{
e.Row.Background = new SolidColorBrush(
new Color() {
R = 235,
G = 235,
B = 0,
A = 60
});
};
MyDataGrid.UnloadingRow += delegate(object sender, DataGridRowEventArgs e)
{
e.Row.Background = null;
};
它首先正确显示,但在我点击任何标题对记录进行排序后,颜色混乱(即,不是每隔一行都有相同的颜色)。我发现设置此DataGrid
行颜色真的很棘手,不知道是否有人已经解决了这个问题。 如何在排序记录时保持交替颜色?