0
我正在使用DataGrid
並嘗試更改每隔一行的默認背景色(奇數行具有黃色,偶數行具有白色),因爲顏色與高亮顏色太相似。如何將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
行的顏色真的是絕招,不知道是否有人已經解決了這個問題。 如何在排序記錄時保持交替的顏色?
謝謝,但我不認爲這就是我的意思。我想要的是奇數行總是具有相同的顏色(例如,白色),並且偶數行號具有相同的顏色(例如,黃色),沒有任何字段按任何字段排序。順便說一句,你是什麼意思在WPF控制實施的代碼? – lwconquer 2012-08-16 18:08:01
那麼,這正是替代做的。 :) – 2012-08-16 18:26:04
媽的:)。這真是一個我不知道的很好的解決方案。這爲我節省了很多時間。德米特里,非常感謝你的幫助。 – lwconquer 2012-08-16 18:58:42