在 MVVM 中,我应该如何实现 INotifyPropertyChanged 接口(interface):在 ViewModel 类中还是在 Model 类中?如果 INotifyPropertyChanged 接口(interface)已在 ViewModel 中实现,如何处理模型的属性更改事件?
最佳答案
一、你总是 在您的 View 模型中实现它,因为当您在 View 模型中更新数据时,框架会使用该接口(interface)来更新 UI。
您可以在模型中实现它,但这绝不是必需的。如果模型正在从您下面更改,您可以并且可能应该轻松地引发 View 模型监听的您自己的(语义更清晰的)事件以更新其数据。
实际的实现应该是这样的(MSDN):
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
关于c# - 如何实现属性更改通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26186164/