【发布时间】:2011-03-22 07:43:39
【问题描述】:
我是 Silverlight 的 MVVM 模式的大力支持者。目前,我通过在视图后面的代码中新建 ViewModel 将 ViewModel 连接到视图,因此:
public partial class SomePage : UserControl
{
public SomePage()
{
InitializeComponent();
// New up a ViewModel and bind to layout root
var vm = new SomeViewModel();
LayoutRoot.DataContext = vm;
}
}
然后所有的绑定都在 View 中处理,所有的逻辑都在 ViewModel 中处理,正如模式所希望的那样。
但是,以这种方式连接它们意味着设计器无法正常工作,并且我无法使用 Expression Blend 设计时数据。我知道有诸如 MVVM Light 之类的库可以帮助完成所有这些工作,但我不喜欢引入库,因为它是“需要处理的“另一件事”。
是否有一种简单的模式可以在 Silverlight 中连接 MVVM,同时保持设计器功能,尤其是在 Blend 中?我已经进行了一些谷歌搜索,但是那里有太多过时的文章,并且 WPF 和 Silverlight 以及旧版本之间存在太多混淆,以至于我很难弄清楚该使用哪个。
顺便说一句,如果重要的话,我会专注于带有 VS2010 的 SL4。
【问题讨论】:
标签: silverlight mvvm silverlight-4.0