wpf - 为什么应该为 WPF、SL 和 WP7 使用 UI 模式框架?

标签 wpf silverlight mvvm mvvm-light caliburn.micro

过去一个月我一直在学习 SL,现在我将注意力转向 UI 模式框架,例如 Caliburn.Micro 和 MVVM-Light。

我最近参加了一个关于在 WPF 和 SL 中使用 MVVM 模式的 session 。演示者使用简单的模式进行演示,没有任何 UI 框架——非常简单和直接。在演示中,他建议我们创建一个基础虚拟机,以便能够使用一些常见功能(由于时间原因无法获得更多细节 - 请随时澄清)。这是我想要使用 UI 模式框架的原因吗?

我的理解是,UI 模式框架有助于按照约定实现 MVVM 等模式,从而使开发人员不必担心这一点。否则我为什么要使用 UI 模式框架?

提前致谢!

最佳答案

有钱

对于业务应用程序 - 您的虚拟机很可能需要至少 2 个接口(interface):

INotifyPropertyChangedINotifyDataErrorInfo

就像 Kieren 所说 - 实现 INotifyPropertyChanged 非常简单,只需几行代码。 INotifyDataErrorInfo 虽然多了一点,但也不错。

MVVM Light 是如此“轻”,我什至不确定这是什么意思:) 对我来说 - 理解 MVVM 的人不需要这个。您可以查看它的源代码以了解它的作用,因为您很可能需要扩展该基类。

Caliburn,OTOH,是一个基于约定的框架,它允许您在不指定“绑定(bind)”和其他类似魔法的情况下进行绑定(bind)。您需要决定是否真的需要它......

如果您正在处理一些繁重的事情,例如包含大量表单和内容的 LOB 应用程序 - 我强烈建议您研究 PRISM。它不是一个 MVVM 框架,而是构建复杂复合 UI 的框架。学习曲线会很陡峭,不像 MVVMLight :) 但它将涵盖您的业务应用程序中的大多数基础。

关于wpf - 为什么应该为 WPF、SL 和 WP7 使用 UI 模式框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7786608/

相关文章:

c# - 将 ContentPresenter.Content 转换为 UIElement 是否合适?

c# - XAML C# 通过网格在窗口中元素的动态位置

C# WPF Webbrowser msHTML - 探索 DOM - 查找元素

silverlight - 通过 Silverlight 访问 SharePoint Web 服务

c# - 如何在 wpf 中通过 MVVM 使用 ListView 绑定(bind)获取数据?

c# - 在WPF中保存控件的图像(屏幕截图) - MVVM模式

c# - 当用户在c#中单击它时获取图像的来源

c# - 您认为 Silverlight 是否已为企业做好准备?关于平台渗透率的任何统计数据?任何 F500 comps 认真投资 Silverlight 吗?

mvvm - ViewModel Async Func 完成时如何从 subview 更新 EnvironmentObject

wcf - 从 Silverlight 调用 WCF 服务