我的应用程序层使用 DialogPresenters 在各种对话框(模式、启动屏幕等)中显示一些 ViewModel。
public DataImportDialogPresenter(DataImportViewModel viewModel, IDialogView shellView, IDialogView owner)
: base(viewModel, shellView, owner)
{
//Base sets the view data context etc.
//Monitor CancelCommand and close the dialog
viewModel.CancelCommand = new DelegateCommand(() => Terminate());
}
这个设置真的很好,除了如果我的 ViewModel 决定它需要在 CancelCommand 上做一些事情(这是完全合理的),那么它将取代演示者对 Terminate() 的调用,反之亦然。
我想做的是:
viewModel.CancelCommand += new DelegateCommand(() => Terminate());
本着与附加事件处理程序相同的精神。
- 这在 C#.NET 3.5 中可行吗?
- 我将如何实现它?
- 这是不好的 MVVM 做法吗?
谢谢
D