0
這個問題是參考這個鏈接Opening new window in MVVM WPF。
我想在某些服務中打開新窗口。 以下是我的代碼用MVVM打開多個窗口使用相同的viewmodel使用MVVM
這是我從視圖模型調用
public class WindowService:IWindowService
{
public void ShowWindow(object viewModel)
{
var win = new Window {Content = viewModel};
win.Show();
}
}
下面的窗口服務是我的App.xaml代碼
<DataTemplate DataType="{x:Type viewModel:MainViewModel}" >
<viewModel:ChildWindow />
</DataTemplate>
現在,這工作得很好具有不同的所有窗口的ViewModels。 但是,當我想要打開另一個使用相同視圖模型但視圖不同的窗口時,我無法在app.xaml中定義同一類型的數據模板。
如何打開多個具有相同viewmodel的新窗口? 我應該爲每個窗口創建不同的視圖模型嗎?