WPF MVVM - 我在哪里保留Windows实例?

时间:2017-08-24 10:02:27

标签: c# .net wpf mvvm

我正在开发一个带有一个主窗口和几个窗口的应用程序,如ProjectProperties窗口,UsersData窗口等。我希望这些窗口只创建一次(例如在应用程序启动时),并在需要时隐藏/取消隐藏它们。它们将仅在申请被关闭时处理。我应该在哪里保留这些窗户的实例?我应该将他们的ViewModel实例保存在MainWindowViewModel类中吗?那些视图(将它们保存在MainWindowView中)?我如何隐藏/取消隐藏它们?

我不想使用WVVM Light,Calibrum等。只是纯粹的MVVM。

我是WPF和MVVM的新手,所以请尽可能具体。

1 个答案:

答案 0 :(得分:0)

这个链接在纯MVVM上有很好的导航功能(我认为这就是你想要的)。

https://rachel53461.wordpress.com/2011/12/18/navigation-with-mvvm-2/

视图在哪里"存储",在这里:

<Window.Resources>
    <DataTemplate DataType="{x:Type local:HomeViewModel}">
        <local:HomeView />
    </DataTemplate>
    <DataTemplate DataType="{x:Type local:ProductsViewModel}">
        <local:ProductsView />
    </DataTemplate>
</Window.Resources>

这也是Views和ViewModels之间的关系。

编辑:作为MVVM的新手,我还建议您阅读此内容https://rachel53461.wordpress.com/2011/05/08/simplemvvmexample/

希望它有所帮助。