摘要:http://msdn.microsoft.com/zh-cn/library/dd458703.aspxhttp://www.cnblogs.com/sdlfx/archive/2011/08/13/2137373.html
阅读全文
摘要:在创建用户控件时,我们难免会创建依赖项属性,这样有利于用户控件的灵活性,例如:我写了一个控件MenuButton,这个MenuButton就是为Button写了一个模板,Image用来显示图片,ContentPresenter用来显示文本。我们肯定不是在用户控件中将图片和文字预先设置好,而是通过用户控件属性来设置,在这里说一些额外的话,建议用依赖项属性,因为依赖项属性支持例如:设计器集成、Binding、动画、样式、动态资源等,而属性则不支持的。看以下MenuButton.xaml代码片段:<UserControlx:Class="Jeriffe.SL.App.UserCont
阅读全文
摘要:我想,现在已经有不少朋友在项目中使用了MVVMLight了吧,如果你正在做WPF,Silverlight,Windows Phone的开发,那么,你有十分必要的理由了解MVVM和MVVMLight。我写这篇文章的目的,是给大家做一个总结,以便更多的朋友了解并掌握MVVM。首先,要说一下MVVM的概念。MVVM严格来说,并不是一种框架,而是一个设计的模式吧。与它有关的设计模式还有MVC (现在广泛用于Web应用中),以及MVP(之前有用过在Windows Forms和WPF中)如果你希望对MVVM有更加感性地认识,我推荐你看下面这篇文章。http://www.codeproject.com/KB
阅读全文
摘要:以下内容摘自:http://blogs.msdn.com/b/tims/archive/2010/11/02/kung-fu-silverlight-architectural-patterns-and-practices-with-mvvm-and-ria-services.aspxMVVM(Model/View/ViewModel) is an architectural pattern that is well-suited for Silverlight and WPF development. It isa variation of the MVC patternthat origi
阅读全文
摘要:这篇教程摘自代码工程:http://www.codeproject.com/KB/WPF/WpfMvvmQuickStart.aspxThe BasicsThe biggest thing about WPF is data binding. In short, you have some data, typically in a collection of some sort, and you want to display it to the user. You can 'bind' your XAML to the data.WPF has two parts, the
阅读全文
摘要:算算,从事Silverlight和WPF的开发也有1年多的时间了,虽然时间不算长,虽然还没有突出的成就,但是感觉也还算一般。 但是,从头至今都没有去认真研究和使用过MVVM,虽然它被认为是Silverlight和WPF开发的最佳架构实践。 我想这里面还是有一些原因,就像一般开始我们始终都不会看好单元测试。直到有一天你体会到它的魅力,它的好处。 最近的项目,却不得不采用MVVM的模式:UI没有定,甚至服务端的Service都没有定,但是不能等到这些都做好才开始展开我们的开发工作。 于是,痛下决心研究MVVM的模式,在学习过程中,发现一些问题。MVVM的使用不仅仅是因为它需要新的思维,使View和
阅读全文
摘要:这篇文章讨论:模式与WPFMVP模式为什么MVVM更加适用于WPF用MVVM构建一个应用程序译文地址: http://www.cnblogs.com/lujiao_cs/archive/2011/10/30/2229419.html内容: 专业的软件用户界面开发不太简单。它可能混杂了数据、交互设计、视觉设计、连接、多线程、安全性、国际化、验证、单元测试以及可触摸技术。考虑到用户界面暴露了系统的底层并且必须满足用户的不可预知的需求,它可能是许多应用程序中最不稳定的部分。有一些常用的设计模式可以解决这个问题,但是隔离并且访问这些关注点可能比较难。模式越是复杂,更多的捷径可能会被用到,这些捷径...
阅读全文
摘要:C#中Specification模式的实现今天有朋友在问了我这么一个问题:怎么实现OrWhere的功能?我猜测,他的意思是要实现这样的功能:static IEnumerable<int> MorePredicate(IEnumerable<int> source){ return source.OrWhere(i => i > 0); // 或所有的正数}static void Main(string[] args){var array = Enumerable.Range(-5, 10).ToArray(); var odd = array.Where(i
阅读全文