Datagrid - Как изменить первые 3 строки backgroundcolor - PullRequest
0 голосов
/ 21 января 2012

У меня есть сетка данных, в основе которой лежит XML-файл. В зависимости от данных в xml список сортируется.

Теперь я хочу изменить цвет фона первых трех строк, например, красный, второй желтый и третий синий. после 3-го числа все может быть просто белым по умолчанию.

Я не могу найти, как это сделать, кто-нибудь может мне помочь?

спасибо!

1 Ответ

1 голос
/ 21 января 2012

Самый простой способ - обработать событие LoadingRow для DataGrid и обновить цвета внутри него.

private void dg_LoadingRow(object sender, System.Windows.Controls.DataGridRowEventArgs e)
{
    int index = e.Row.GetIndex();
    if (index == 0)
        e.Row.Background = Brushes.Blue;
     else if (index == 1)
        e.Row.Background = Brushes.Red;
     else if (index == 2)
        e.Row.Background = Brushes.White;
}

другим способом может быть получение первых трех DataGridRow из DataGrid с использованием метода, описанного в этом посте. Затем используйте свойство Background dataGridRow, чтобы изменить его цвет

Более понятным способом было бы определить style для DataGridRow и использовать triggers, чтобы изменить background цвет определенного DataGridRow. Я не уверен, есть ли у вас какие-либо критерии для изменения цвета background первых трех рядов, или это жестко прописанное требование. Если это какой-то критерий или значение в DataGrid, то вам следует использовать Style подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...