Member 13602078 Ответов: 1

Как я могу загрузить данные в datagrid в WPF без вызова события selectionchanged?


Привет,
Когда я пытаюсь загрузить и установить элементы в WPF DataGrid как:
компонента DataGrid.ItemsSource=данные;
У меня есть проблема вызова события SelectionChanged для каждого добавленного элемента DataGrid, вместо того чтобы вызывать его только тогда, когда элемент выбора DataGrid изменяется после загрузки элементов DataGrid

Что я уже пробовал:

компонента DataGrid.ItemsSource = Данные;

компонента DataGrid.ItemsSource = Данные;

1 Ответов

Рейтинг:
1

Pete O'Hanlon

Предварительно отключите контекст данных, а затем снова подключите его. Я не знаю, к чему вы прикрепили свой DataContext, поэтому вот пример использования чего-то под названием _myUserControl в качестве целевого объекта DataContext, который мы храним в DataContextSource (это только пример).

private void ConnectData()
{
  _myUserControl.DataContext = null;
  DataGrid.ItemsSource = Data;
  _myUserControl.DataContext = DataContextSource;
  // Set your selected item if necessary.
}


Member 13602078

Спасибо, но проблема не решена, событие SelectionChanged вызывается для каждого элемента, добавленного в DataGrid, мне нужно вызвать его после загрузки всех элементов DaraGrid и при изменении выбора

Pete O'Hanlon

Подписываетесь ли вы на событие SelectionChanged? Если это так, просто отключитесь от обработчика событий, прежде чем связывать данные с вашим ItemsSource. Повторная подписка на SelectionChange сразу же после DataGrid.ItemsSource = Данные;.