色がハイライト色に似すぎているため、他のすべての行のデフォルトの背景色を使用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
行の色を設定するのは本当に難しいと思います。誰かがこの問題を解決したかどうかはわかりません。 レコードを並べ替えるときに、交互の色を維持するにはどうすればよいですか?