2
我的應用程序層使用DialogPresenters在各種對話框(模式,閃屏等)中顯示一些ViewModels。MVVM多個命令處理程序
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());
}
這種設置的作品真的很好,除了,如果我的視圖模型決定它需要做的CancelCommand東西(這是完全合理的)事實,然後它將替換主持人的號召,終止()或反之亦然。
我想要做的是:
viewModel.CancelCommand += new DelegateCommand(() => Terminate());
本着同樣的精神作爲附加的事件處理程序。
- 這在C#.NET 3.5中可能嗎?
- 我將如何實現它?
- 這是不好的MVVM的做法?
感謝
d
這將在我當前使用情況的工作。我唯一擔心的是,viewmodel可能會在不知不覺中覆蓋命令。 – djskinner 2010-02-14 15:33:32
我明白你的意思了......我通常在吸氣劑中懶惰地初始化命令。如果你這樣做,並且之後不再改變命令,它應該可以正常工作 – 2010-02-14 15:49:45