Изменение цвета фона строки WPF Datagrid Row - PullRequest
0 голосов
/ 20 ноября 2018

У меня возникают проблемы при попытке изменить строку таблицы данных в коде приложения WPF, мой объект - изменить цвет строки, когда строка выбрана и когда нажата кнопка «Valider», мой кодпоказано ниже.Я нашел некоторые ответы, но ни один из них не пригодился для моего случая.

 private void Valider_Click(object sender, RoutedEventArgs e)
    {
        DataGridRow dataGridRow = InventaireItemGrid.SelectedItem as DataGridRow;

         dataGridRow.Background = Brushes.Green;
      }

Когда я выполняю, я получаю исключение nullreference, отладчик указывает на dataGridRow, чтобы быть нулевым (хотя строка содержит данные).

1 Ответ

0 голосов
/ 20 ноября 2018

Свойство SelectedItem относится к соответствующему объекту в коллекции Items.Вы можете использовать ItemContainerGenerator, чтобы получить ссылку на контейнер DataGridRow:

private void Valider_Click(object sender, RoutedEventArgs e)
{
    DataGridRow dataGridRow = InventaireItemGrid.ItemContainerGenerator.ContainerFromItem(InventaireItemGrid.SelectedItem) as DataGridRow;
    if (dataGridRow != null)
        dataGridRow.Background = Brushes.Green;
}

Скорее всего, есть лучшие способы сделать то, что вы пытаетесь сделать, например, с помощью привязки данных и триггеров..

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