c# – 将INotifyPropertyChanged添加到模型中?
我在我的wpf MVVM(基于Prism的)应用程序中遇到了一些设计问题,很乐意得到你的建议.
我的模型非常简单: public class Customer { public string FirstName {get;set;} public string LastName {get;set;} } 如您所见,我的Model类没有任何INotifyPropertyChnaged支持. public class CustomerDetailsViewModel:INotifyPropertyChanged /*Or NotificationObject*/ { /*INotifyPropertyChanged event */ private Customer item; public Customer Item { get{return item;} set { item=value; //Raise PropertyChanged //Set IsDirty to true } } } 在我看来,我正在使用绑定到Item.FirstName和我正在更新的ViewModel. 我知道我可以在模型中支持INotifyPropertyChanged,然后在视图模型中注册到Item.PropertyChanged事件,并实际将IsDirty设置为true,但是 – 我正在考虑创建新项目,它将使用T4模板逐个复制我的所有实体(作为客户)并为每个模型添加INotifyPropertyChanged支持. 谢谢! 解决方法
选项1.
在客户端和服务器(DTO)之间传输的独立实体,来自实体,这些实体是客户端的模型.在模型中实现INPC.使用这些实体之间的映射. 选项2. 选项3.是前两个选项的混合.不要在视图模型中聚合模型.使用模型和视图模型之间的映射.创建与模型属性对应的视图模型属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |