我需要为ViewModel设置不同的命令,如关闭,编辑,取消,ShowPic,ShowVideo。
基于我所拥有的不同ViewModel,我有像Close,Edit,Cancel这样的常用命令,它们执行相同的操作,只有上下文可以不同。然后对于像ShowPic,ShowVideo这样的其他人来说,他们属于他们自己的视图模型。
在这种情况下,如何将命令组织为良好实践:
感谢您的建议,并举例说明如何组织它们。
答案 0 :(得分:0)
某些非视图特定的命令(例如Print,Save等具有独立于视图的通用功能)可以在Uility
和{{1}的某个静态Execute
类中声明为静态可以使用XAML中的CanExecute
属性绑定处理程序。
但是视图特定的命令应该驻留在x:Static
中。
答案 1 :(得分:0)
答案是“2”。
即使其他ViewModel具有相同的命令,它的注入服务(如果您不知道我在说什么,请阅读“IoC”)在ViewModel中执行繁重工作并允许您避免冗余逻辑。