MVVM围绕Silverlight中的视图逻辑的最佳实践

时间:2010-09-17 02:36:05

标签: silverlight mvvm

我正试图进入MVVM并远离Silverlight中的代码隐藏方法,我想知道有关如何调用视图逻辑的最佳实践。

我有一个非常基本的页面,我将一个列表框绑定到一个域对象集合,这都是使用MVVM,所以当我从服务中收回我的数据时,我想触发动画并查看更改屏幕。

在哪里/如何做到这一点的最佳方式? Silverlight(版本3,BTW)没有触​​发器吗?我见过人们似乎在使用它们的博客,但我认为他们必须自己动手?不确定......无论如何,这里的任何想法都非常感激

1 个答案:

答案 0 :(得分:1)

首先,我认为只要它只适用于视图,它背后的代码就可以了,即它仅涉及UI问题。当更简单的出路同样正确时,不要为没有代码隐藏而挣扎。

其次,当然有时您需要在视图和视图模型之间进行某种断开连接的通信(例如,从视图中将多个选定项目放入视图模型中)。出于这些目的,您可以使用像MVVMLight的Messenger这样的聚合器,它既简单又能很好地表达概念。您可以从视图模型发送消息并让视图监听它;您也可以从视图中发送消息(发生某些事件时)并广播它们。

MVVMLight还包含一些实用程序类,可以很容易地将事件直接绑定到视图模型中的命令,因此在我认为的大多数情况下这是更容易的选项。