什么';在WPF MVVM Prism应用程序中使用OnPropertyChanged和发布有什么区别?

什么';在WPF MVVM Prism应用程序中使用OnPropertyChanged和发布有什么区别?,wpf,mvvm,prism,Wpf,Mvvm,Prism,我正在学习WPF应用程序中的MVVM模式和Prism,我对何时调用OnPropertyChanged(MyProperty)以及何时使用EventAggregator发布事件感到困惑。第一个不是已经告诉世界MyProperty已更改,因此不需要调用MyEvent.Instance.Publish(MyProperty)吗。还是我完全错过了什么 internal void OnSequenceSelected(object obj) { _currentSequence

我正在学习WPF应用程序中的MVVM模式和Prism,我对何时调用OnPropertyChanged(MyProperty)以及何时使用EventAggregator发布事件感到困惑。第一个不是已经告诉世界MyProperty已更改,因此不需要调用MyEvent.Instance.Publish(MyProperty)吗。还是我完全错过了什么

 internal void OnSequenceSelected(object obj)
    {
        _currentSequence = obj as Sequence;
        Root = DocumentWrapper.Document.Sequences.Single(s => s.Name == _currentSequence.Name).TaskList.ToArray().ToTreeList();
        OnPropertyChanged("Root");
        LoadedGlobalEvent.Instance.Publish(Root);
    }

OnPropertyChanged是必须调用的事件,用户界面才能基于数据绑定进行更新

Prism的Publish是一个与EventAggregator关联的方法,它与MVVM无关。 它只是一种设计模式,当您希望一个对象响应另一个对象的行为而两个对象不知道彼此时,它提供对象(即视图模型)之间的松散耦合

我自己实现了这个pub/sub模式,并将其称为


因此,您可以使用EventAggregator发布消息,而不考虑MVVM的概念。同样,发布消息是解决方案中一个完全独立且不相关的部分。

OnPropertyChanged是必须调用的事件,以便您的UI基于数据绑定进行更新

Prism的Publish是一个与EventAggregator关联的方法,它与MVVM无关。 它只是一种设计模式,当您希望一个对象响应另一个对象的行为而两个对象不知道彼此时,它提供对象(即视图模型)之间的松散耦合

我自己实现了这个pub/sub模式,并将其称为


因此,您可以使用EventAggregator发布消息,而不考虑MVVM的概念。同样,发布消息是解决方案中一个完全独立且不相关的部分。

OnPropertyChanged是必须调用的事件,以便您的UI基于数据绑定进行更新

Prism的Publish是一个与EventAggregator关联的方法,它与MVVM无关。 它只是一种设计模式,当您希望一个对象响应另一个对象的行为而两个对象不知道彼此时,它提供对象(即视图模型)之间的松散耦合

我自己实现了这个pub/sub模式,并将其称为


因此,您可以使用EventAggregator发布消息,而不考虑MVVM的概念。同样,发布消息是解决方案中一个完全独立且不相关的部分。

OnPropertyChanged是必须调用的事件,以便您的UI基于数据绑定进行更新

Prism的Publish是一个与EventAggregator关联的方法,它与MVVM无关。 它只是一种设计模式,当您希望一个对象响应另一个对象的行为而两个对象不知道彼此时,它提供对象(即视图模型)之间的松散耦合

我自己实现了这个pub/sub模式,并将其称为

因此,您可以使用EventAggregator发布消息,而不考虑MVVM的概念。同样,发布消息是解决方案中一个完全独立且不相关的部分