2009-10-16 7 views
0

Я использую MVVM для моего проекта, привязка, установленная к DataTable, работает правильно в первый раз, но после того, как у меня есть данные обновления в DataTable, похоже, это не влияет на DataGrid. Кто-нибудь знает, как его решить?MVVM привязка DataGrid (WPF Toolkit) к DataTable

ответ

0

Трудно сказать без дополнительной информации и, возможно, некоторый код (и я не использовал Toolkit сетки WPF - я использую Infragistics один.) Несколько вещей:

  • Вы уведомляя UI изменений свойств (путем реализации интерфейса INotifyPropertyChanged) в ваших классах MVVM?

  • Вы говорите «после того, как вы обновили данные в DataTable». Обновлено как? Через сетку или через какие-то другие средства? Правильно ли обновлены ваши классы MVVM (и как таковые, сообщив datagrid/UI, что данные были изменены)?

У меня была отличная удача в этом. Иногда сетка Infragistics не обновляется, если я добавляю, например, элемент в коллекцию программно. Мне в значительной степени нужно перечитать все это для обновления сетки. Я еще не нашел причину. Возможно, вы имеете дело с подобной «аномальностью» здесь.

Извините, не обязательно полезно, но, возможно, достаточно, чтобы указать вам в правильном направлении ... Невозможно помочь без дополнительной информации.

+0

1. Нет, я не реализую интерфейс INotifyPropertyChanged. Я постараюсь его реализовать (завтра). 2. Обновите команду на ViewModel, которая привязывается к элементу управления в пользовательском интерфейсе. – Anonymous

+0

Я еще не пробовал этот подход (по команде), но похоже, что только пользовательский интерфейс не информирован о том, что базовые данные изменились. Вы можете делать то, что хотите, в фоновом режиме, но если пользовательский интерфейс не «получит заметку», он не будет обновляться. – MetalMikester

+0

Я нашел проблему, забудьте запустить OnPropertyChanged, но я не знаю, как ее реализовать с помощью DataTable. – Anonymous

Смежные вопросы