我使用Catel 4.3.0 framework
。
我装饰了我的一个ViewModel
[InterestedIn(typeof(AddSupplierWindowViewModel))]
并添加了
protected override void OnViewModelCommandExecuted(IViewModel viewModel,
ICatelCommand command, object commandParameter)
此事件正确触发。
在AddSupplierWindowViewModel
我有多个命令,但此视图模型只对CmdAddSupplier
感兴趣。
所以我想检查这个命令是否被触发,但我无法弄清楚如何测试它。
我希望command.Name == "CmdAddSupplier"
之类的东西,但我找不到这样的东西。
有人可以举例说明如何测试。
亲切的问候
的Jeroen
答案 0 :(得分:0)
我们建议使用CommandContainers而不是视图模型来托管跨越多个视图模型的命令。感兴趣的通信可能(很可能)将在第5版中从Catel中删除。
可以在Orchestra repository中找到一些很好的例子。
如果你真的想继续使用InterestedIn(这实际上是设置服务的快捷方式来处理视图模型之间的通信),你需要弄清楚如何检索实例(你只能得到一个命令的实例)到一个命令名。例如,您可以在命令上使用Tag属性。