Catel interstedin OnViewModelCommandExecuted检查执行的命令
本文关键字:命令 执行 检查 interstedin OnViewModelCommandExecuted Catel | 更新日期: 2023-09-27 18:12:59
我使用Catel 4.3.0 framework
.
我已经用
装饰了我的一个ViewModels[InterestedIn(typeof(AddSupplierWindowViewModel))]
和
protected override void OnViewModelCommandExecuted(IViewModel viewModel,
ICatelCommand command, object commandParameter)
此事件正确触发。
在AddSupplierWindowViewModel
中,我有多个命令,但只有CmdAddSupplier
对这个视图模型感兴趣。
所以我想检查这个命令是否被触发,但是我不知道如何测试它。
我希望是
command.Name == "CmdAddSupplier"
但是我找不到这样的东西。
谁能提供一个例子,如何测试这个
亲切的问候
珀斯
我们建议使用CommandContainers而不是视图模型来承载跨越多个视图模型的命令。在v5中很可能(很有可能)从Catel中删除interdin通信。
可以在Orchestra存储库中找到一些很好的例子。
如果您真的想继续使用interstedin(它实际上是设置服务以处理视图模型之间通信的快捷方式),则需要弄清楚如何将实例(您只获得命令的实例)检索到命令名。例如,您可以在命令中使用Tag属性。