Как модели представления распространяют уведомление об изменении из своих базовых моделей, если модель не реализует INotifyPropertyChanged?

Чтение статьи Джоша Смита о MVVM его модель представления CustomerViewModel реализует INotifyPropertyChanged , но не базовый класс Customer .

Я вижу только один (возможный) способ заставить уведомление об изменении работать в этом случае - вносить изменения только в CustomerViewModel , а не в Заказчик . В таком случае, должна ли внутренняя логика моей программы просто работать с ViewModels? Это кажется довольно странным, в конце концов, это Посмотреть Модели.

Кто-нибудь может немного прояснить это?

Спасибо!

Уточнение:

Скажите, что у меня есть модель Цитата и список цитат.

public class Quote
{
    public string Name { get; set; }
    public decimal Value { get; set; }
}

public QuoteViewModel : INotifyPropertyChanged
{
    private Quote quote;

    public event EventHandler PropertyChanged;

    public decimal Value 
    { 
         get { return quote.Value; }
         set
         { 
               quote.Value = value;
               PropertyChanged("Value");
         }
    }                  
}

Теперь, если Quote изменяется в результате опроса веб-службы фоновым потоком, пользовательский интерфейс не будет уведомлен об этом, поскольку Quote не реализует INotifyPropertyChanged, если все части системы не используют ViewModel?

7
задан Max 10 July 2011 в 12:08
поделиться