INotifyPropertyChanged на модельных классах

Как правило, желательно реализовать INotifyPropertyChanged для классов Model, ViewModel или обоих? Можно ли реализовать только на модели, а не на Viewmodel? Если не возможно модель то почему

3 ответа

Основное правило таково: не бывает сложной и быстрой архитектуры, вы можете изменять ее в соответствии со своими потребностями, поэтому некоторые архитектуры более предпочтительны.

для ваших точных потребностей пройти через это

и в этом обсуждении достаточно точек, чтобы охватить оба аргумента, посмотреть, какой из них соответствует вашему проекту.

это может помочь вам реализовать..

Вы должны понимать значение INotifyPropertyChanged. Его цель - поднять уведомление от цели к источнику, когда вы определяете Binding в WPF. DependencyProperty и INotifyPropertyChanged связаны для автообновления для концепции привязки. Если вам необходимо привязать свойство к модели представления для просмотра, вам необходимо реализовать механизм уведомлений, чтобы уведомлять пользовательский интерфейс об изменениях в модели представления. То же правило применяется к модели для просмотра.

Предположим, вы хотите закодировать в файл.CS как Viewmodel.Name =" my new name" и ожидаем, что TextBox должен отображать измененное имя.

<TextBox Text="{Binding ViewModel.Name} "/>

Здесь представление модели необходимо реализовать INotifyPropertyChanged.

<TextBox Text="{Binding Model.Name} "/>

здесь модель должна реализовывать INotifyPropertyChanged

Надеюсь, это проясняет.

В этом обсуждении, возможно, стоит отметить, что сами Microsoft добавляют INPC в свои собственные модели, например, классы, автоматически генерируемые при подписке на веб-службу. Я видел это и в других местах, включая смутное воспоминание об этом где-то в их материалах EF. Я сам автоматически добавляю его в свои объекты DAL, используя Castle Proxy, чтобы мне не приходилось дублировать все в модели представления, хотя вы также можете использовать такие вещи, как Fody и т. Д., Чтобы добавить его в IL на этапе постобработки.

Другие вопросы по тегам