0
我正在設計MVVM模式的WPF應用程序體系結構。現在我有以下情況:命令操作與幾個視圖模型
class ParentViewModel : ViewModelBase<IParent>
{
public ObservableCollection<ChildViewModel> Children { get; private set; }
}
class ChildViewModel : ViewModelBase<IChild>
{
public ICommand ParentAndChildCommand { get; private set; }
}
class ParentAndChildCommand : ICommand
{
public void Execute(object parameter)
{
// ParentViewModel.DoSomething(ChildViewModel);
}
public bool CanExecute(object parameter)
{
// return CanExecute(ParentViewModel, ChildViewModel);
}
}
我到目前爲止看到的唯一的解決辦法是處理執行,並在ParentViewModel類ParentAndChildCommand的QueryCanExecute事件。但我相信這種情況有更好的解決方案。請告知如何設計這樣的邏輯。提前致謝。
這是非常普遍的問題。請描述你的特定情況,你無法執行的是什麼。否則,請閱讀有關MVVM實施的更多信息 –
您的問題是什麼?你想達到什麼目的? – Guillaume
我有一個Parent對象的集合,每個對象都有他自己的Child對象集合。每個Child對象都有他的命令(由TreeView的ContextMenu調用),但這些命令依賴於Parent對象,因此要執行Child命令,我必須知道Child對象屬於哪個Parent。我可以使Child對象中的「Parent」屬性或Child類中的某些事件在Parent對象上處理。但我覺得你可以給我提供更好的解決方案。謝謝。 – maxibrain