返回首页


本博客文章介绍了发电锅炉板MVVM的代码使用codesnippet自动化的新方法。您只需添加到您的视图模型类的属性,并为您生成的代码!
模型视图ViewModel(MVVM)已经成为事实上为Silverlight,WPF和WP7的应用模式,提供的代码,很容易测试和夫妇干净,以通过绑定的看法。然而,MVVM的一个小问题是,它依赖了INotifyPropertyChanged(INPC)接口,这带来的锅炉板代码。
本博客文章描述了一个技术实施INPC容易,因为这将属性添加到您的视图模型:

[SnippetINotifyPropertyChanged]

[SnippetPropertyINPC(field = "_surname", type = "string", property = "Surname")]

[SnippetPropertyINPC(field = "_forename", type = "string", property = "Forename")]

public partial class PersonViewModel : INotifyPropertyChanged

{

} 

有数以百计的博客文章描述的解决方案实施INPC包括这样一个简单的选择问题如果他们愿意的话。
有几个问题与codesnippets,首先他们是不是重构友好,其次他们不降低锅炉板代码,他们只是提供更迅速地将此代码添加一个方法!
昨天,我在CodeProject上发表文章,其中,您使用codesnippet表明通过一个属性声明在部分类生成的结果代码。在这里,我会来说明它可用于简化创建ViewModels和拆除锅炉板代码的结果。
使用这种技术的第一步,添加CODEGEN文件夹到您的项目。此文件夹包含了一个T4模板(Visual Studio的内置代码生成框架):
{S0}
与这些模板添加到您的项目,如果您添加了codesnippet项目(即。片段文件),T4模板运行时,将产生一个相应的属性。你可以看到在上面的截图的几个片段都被添加和属性产生。
T4模板运行时,项目建成后,或可按需运行,通过点击下面的按钮:
因此,让我们在产生我们认为模型代码去??/ P>
我们将创建一个简单的人视图模型,其中有姓,名字及一个依赖的FullName属性连接在一起的属性。首先,我们将通过自动化的片段加入我们班INPC实施:{C}

回答

评论会员:本杰明Unanka 时间:2012/01/27
漂亮
评论会员:科林埃伯哈特 时间:2012/01/27
良好的内容。感谢提交
评论会员:本杰明Unanka 时间:2012/01/27
谢谢你 - 也感谢您的答复如下。非常感谢{S2}
科林埃伯哈特
]。不久你会看到在你的Twitter帐户的通知。保持良好的工作。关于 - Kunal乔杜里|微软MVP(Silverlight中)| CodeProject上MVP |软件工程师

本杰明Unanka
评论会员:游客 时间:2012/01/27
|:我给1票不格式化你的代码;NBSPimgsrc=http://www.orcode.com/img/ico/thumbs_up.gif感谢您的投票和反馈NBSP:在Silverlight5Beta版的新文章请随时通过你写的UPS之前发布
科林埃伯哈特
评论会员:游客 时间:2012/01/27
嗨,这是一个"技术沼泽邮报",所以自动进口CodeProject上。它看起来像导入过程代码的格式做了一个可怕的工作。我现在已经解决了这个问题!我将不胜感激,如果你会重新投票的文章科林E.科林埃伯哈特{A4}
科林埃伯哈特
评论会员:游客 时间:2012/01/27
。本杰明Unanka写道:我给你的代码不格式化了1票你不应该给表决只是因为有一个代码格式化的问题。去的内容,如果你是无法理解,只是因为格式问题,请作者格式和等待,直到他的格式正确。再回来,并根据内容进行投票。本杰明Unanka写道:请始终通过你写的UPS之前发布这是一个技术博客后,在CodeProject牵强,因此它不支持代码标记。冷静下来,现在读。笔者做了他的工作。现在,你可能想改变你的投票。关于-Kunal乔杜里|微软MVP(Silverlight中)|CodeProject上MVP|软件工程师在Silverlight5测试版的新文章:;NBSPimgsrc=http://www.orcode.com/img/ico/thumbs_up.gif感谢您的投票和反馈
本杰明Unanka
评论会员:游客 时间:2012/01/27
Kunal,有没有必要攻击我。该代码是内容的一部分。怎样才能充分把握Colin是没有整篇文章的利益点。{S4}的
贾尼Giannoudis
评论会员:游客 时间:2012/01/27
您好本杰明,冷了下来。没有人会攻击你。不知道谁给了你1,但它是从我。我只是试图解释你的技术博客期间发生了什么去取。关于-Kunal乔杜里|微软MVP(Silverlight中)|CodeProject上MVP|软件工程师在Silverlight5测试版的新文章:;NBSPimgsrc=http://www.orcode.com/img/ico/thumbs_up.gif感谢您的投票和反馈