博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在WPF中实现INotifyPropertyChanged接口的辅助snippets

Posted on 2009-10-17 22:30  alexou  阅读(569)  评论(0)    收藏  举报

在Silverlight与WPF的开发过程中,为了使用Binding技术,往往要将自己的实体类实现INotifyPropertyChanged接口。但为每一个Property书写调用接口,并不是省时省力的事情,而且在硬编码属性的NAME,也可能会在以后的重构过程中引入潜在的Bug。在参考了下面两篇文章后,使用Lambda表达式与snippet快速的完成实体类的属性声明。

http://www.jphamilton.net/post/MVVM-with-Type-Safe-INotifyPropertyChanged.aspx

http://www.designerwpf.com/2009/04/30/inotifypropertychanged-snippets-and-why-you-should-use-these-instead-of-dependencyproperties/

 首先定义基类,所有的实体类,均需从ViewModel<>类派生出来。

Code

 之后,创建一个snippet。将下面的代码,另存为INotifyProperty.snippet,并保存到Visual Studio的相应目录中,例如我的VS2008中,目录为:C:\Program Files\Microsoft Visual Studio 9.0\VC#\Snippets\2052\Visual C#

Code

 现在开始声明自己的实体类,举个简单的例子:声明一个Person类,里面应当由诸如Name,Age,Sex,Phone等通用属性,只需要按照下面的方式,就可以非常快速并且安全的声明相应的成员变量和INotifyPropertyChanged接口的调用方法。

Code

 Pretty cool, huh?