目前我的項目中有2個ViewModels。 MainViewModel目前綁定到我的WPF窗口,所以我有一個命令在我的另一個ViewModel(AdventurerViewModel),不再觸發。有沒有辦法讓這個命令在沒有綁定ViewModel的情況下觸發,或者我的所有命令都需要在MainViewModel中?有沒有一種很好的方法來組織可能會幫助我避免將來出現這種情況的命令?任何建議將不勝感激。在MVVM中組織命令和視圖模型
編輯:代碼
的位從我XAML
按鈕Grid.Column = 「3」 Grid.Row = 「1」 CONTENT = 「IncreaseLevel」 命令= 「{結合IncreaseLevel}」
AdventurerViewModel.cs
public ICommand IncreaseLevel { get { return new RelayCommand(IncreaseLevelExecute, CanIncreaseLevelExecute); } }
private bool CanIncreaseLevelExecute()
{
return true;
}
private void IncreaseLevelExecute()
{
Level++;
}
聽起來好像你正在嘗試爲單個視圖創建多個視圖模型,而你並不想這麼做。看看這個答案的標準方法http://stackoverflow.com/questions/5252339/how-to-change-view-viewmodel-based-on-command –
是的,它看起來就是這個問題。那我必須重新組織。 –