Привязка данных WinForms с моделью представления - медленно отображать изменения модели представления - PullRequest
1 голос
/ 22 августа 2011

У меня есть следующая конфигурация ...

Одиночная форма с примерно 50-60 элементами управления (это много, я знаю) и модель с одним представлением, которая отвечает за сохранение состояния формы.Свойства модели представления связаны с редактируемыми элементами управления в форме через BindingSource.

Моя проблема заключается в следующем ... Я хочу иметь возможность очистить форму с помощью кнопки.Чтобы очистить форму, я попытался сделать следующее:

  • Назначение источника данных BindingSource для нуля и переназначение новой модели представления.Это приводит к ужасному отставанию.
  • Установка всех свойств равными null / empty в модели представления, а затем запуск события OnPropertyChanged (мой базовый класс модели представления реализует INotifyPropertyChanged).Это слишком сильно отстает, и это произойдет, учитывая, что я очищаю 60 полей, а затем запускаю событие OnPropertyChanged для каждого из них.

Итак, есть ли способ, которым я могу изменить приложение, чтобы оноспособен очистить модель представления и своевременно отразить изменения в форме?Моя форма требует, чтобы все 50-60 элементов управления были в одной форме, но элементы управления можно разделить на четыре логические группы.Было бы мне полезно разбить модель представления на четыре модели представления / представления, которые могли бы обрабатывать логические группы независимо?Повлияет ли это на производительность и время, необходимое для отражения изменений в форме?

Спасибо!

...