我想使用 MVVM 模式来开发 WPF 应用程序,模型是一个实体框架模型。由于 entityframwork 在每个属性设置器中实现INotifyPropertyChanged
并引发PropertyChanged
事件,我是否必须在 viewmodel 属性(模型属性的包装器)中引发此事件?
问问题
701 次
2 回答
2
是的你是。
UI 组件绑定到您的属性,并且您的属性使用 EF 实体对象。所以你可以捕捉到实体属性的变化,但是 UI 现在应该如何看待变化呢?答:您的视图模型实现INotifyPropertyChanged
并引发PropertyChanged
事件。
于 2013-02-16T10:48:14.267 回答
2
您需要为PropertyChanged
您在视图 (XAML) 中绑定的所有属性引发事件,否则他们将不知道何时应该更新。
因此,如果您将模型属性包装在视图模型中,则需要引发事件。
但是,您可以直接绑定到模型属性:
<TextBox Text="{Binding Model.Property}" />
并且随着这些属性的实现INotifyChanged
,UI 将得到通知,因此也会更新。因此,您根本不需要包装它们。
于 2013-02-16T10:48:37.740 回答