0

我想使用 MVVM 模式来开发 WPF 应用程序,模型是一个实体框架模型。由于 entityframwork 在每个属性设置器中实现INotifyPropertyChanged并引发PropertyChanged事件,我是否必须在 viewmodel 属性(模型属性的包装器)中引发此事件?

4

2 回答 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 回答