我在MainWindowViewModel.cs中有一個方法來通過傳遞viewname作爲參數來導航視圖。導航到WPF中查看
導航法(relay命令)
public void onNav(string destination)
{
switch (destination)
{
case "study":
CurrentViewModel = new StudyViewModel();
break;
case "capture":
CurrentViewModel = new ImageCaptureViewModel();
break;
case "register":
CurrentViewModel = new RegisterViewModel();
break;
case "editing":
CurrentViewModel = new ImageEditingViewModel();
break;
default:
CurrentViewModel = new ImageCaptureViewModel();
break;
}
}
}
當我從RegisterViewModel
調用此方法被觸發,CurrentViewModel
值更新。但相應的視圖不顯示在窗口中。
var mainModel = new MainWindowViewModel();
mainModel.OnNav("study");
它更新ViewModel但不更新視圖。如何解決它。
您正在創建一個MainWindowViewModel的新實例並在那裏調用OnNav-Method。我想這是不一樣的實例,因爲你的MainWindowView綁定到 – Tomtom
@Tomtom我不知道如何做到這一點。什麼是正確的方法來做到這一點? –