2012-01-12 108 views
1

我需要为ViewModel设置不同的命令,例如Close,Edit,Cancel,ShowPic,ShowVideo。
基于我有不同的ViewModels,我有像关闭,编辑,取消等常用命令做相同的操作,只有上下文可以不同。然后对于其他像ShowPic,ShowVideo它们属于他们自己的视图模型。在MVVM中存储RelayCommand的好习惯

在这样的情况下如何组织你的命令的好做法:

  1. 你把他们都在一个单独的类叫“命令”?
  2. 你把它们放在那里有各自的ViewModels,甚至有些是常见的?
  3. 你是否将公共命令与其他人分开?

感谢您的建议和样品你将如何组织他们。

未查看特定

回答

0

答案是“2”。

即使其他ViewModel具有相同的命令,它的注入服务(如果您不知道我在说什么,可以在“IoC”中进行阅读),它们可以在ViewModels中执行繁重的操作并允许您避免冗余逻辑。

0

某些命令(例如打印,保存等,其具有共同的功能独立的视图的)可以被声明为静态在一些静态UilityExecuteCanExecute处理程序和可使用x:Static属性的约束XAML。

但是,视图特定的命令应驻留在ViewModel