我已经开发了一个大型企业范围的WPF应用程序近2年。与任何UI开发一样,了解您正在使用的特定技术的最佳UI设计模式也很重要。根据我对WPF的经验,Model-View-ViewModel设计模式是最普遍的。了解WPF的数据绑定功能后,很容易明白为什么像M-V-VM这样的模式被接受。即使您不逐字逐句遵循M-V-VM模式(或其变体),请了解该模式解决的大图解决方案。基本上,保持您的UI/XAML文件(视图)在一个单独的文件和所有的代码隐藏/逻辑(ViewModel)在另一个文件。该视图仅对ViewModel中的更改作出反应。
保持ViewModel独立,你会有几个好处。
容易地创建视图模型对象的自动化测试,因为在它没有图形组件。它只是一个具有方法/属性的对象。
更容易在开发人员之间分配工作(例如,一个开发人员在另一个开发人员构建ViewModel时构建视图)。
在ViewModel中使用多线程要容易得多,因为它从不直接与UI控件进行交互。你知道我的意思,如果你曾尝试在后台线程上更新文本框。
下面是一些VS从我的经验窗口形式WPF的优点/缺点的:
优点:
好多了UI的外观和体验为最终用户。WPF允许您对任何UI元素的外观进行最终控制。 (例如,包含每行的图片/按钮/文本的列表框)。
数据绑定是惊人的。绑定XAML文件中的UI控件以指向ViewModel类的特定属性,并且所有内容都可以正常工作。 UI简单地响应ViewModel的任何属性更改。完全分离!如果您希望多个窗口/用户控件同时显示相同的信息并自动保持同步,您会真正看到此优点。
我在MSDN上读到的一切都是,微软将更多的资源投入到WPF中,而不是旧的窗体中。
缺点:
我能想到的最好resouces: “在C#2008年临WPF”
祝你好运!如果你可以通过这个学习曲线,你不会后悔WPF。