Обновление стиля WPF DataGrid и принудительное обновление - PullRequest
1 голос
/ 20 июля 2010

Я использую IValueConverter в сочетании с DataTriggers (все в коде, а не XAML) для реализации условного моделирования для WPF DataGrid (из codeplex.com). У меня есть весь код на месте, но когда я обновляю стиль (после получения некоторых значений из элементов формы), сетка данных не обновляет отображение элементов. Мне нужно вручную вызвать this.dataGrid.InvalidateVisual(), а затем прокрутить вниз и назад, чтобы элементы сетки обновились. Есть ли лучший способ сделать что-то?

Я пытался использовать this.dataGrid.Items.Refresh(), но это вызывает повторное связывание данных сетки (которых может быть тысячи строк), что, в свою очередь, вызывает огромный скачок в потреблении памяти моей программой. Кто-нибудь знает, как вручную перерисовать сетку данных WPF? Я также попытался сделать this.dataGrid.Dispatcher.Invoke((Action)(() => {}));, чтобы заставить диспетчера выполнить операцию, которая приведет к перерисовке, но безрезультатно. Любые предложения приветствуются.

...