我在做一个应用程序中使用WPF设计模式MVVM。 我有全尺寸的窗口(不仅最大化,但原图)。
我需要(在窗口A和关闭窗口的按压按钮X时窗口B是showns打开的窗口B)到一个窗口切换到另一个。
我关闭窗口中的在加载事件窗口B,但我仍然可以看到桌面一会显示窗口B之前。
如何做到这一点,没有看到桌面?
我在做一个应用程序中使用WPF设计模式MVVM。 我有全尺寸的窗口(不仅最大化,但原图)。
我需要(在窗口A和关闭窗口的按压按钮X时窗口B是showns打开的窗口B)到一个窗口切换到另一个。
我关闭窗口中的在加载事件窗口B,但我仍然可以看到桌面一会显示窗口B之前。
如何做到这一点,没有看到桌面?
而不是Windows之间切换,你可以有一个窗口ContentControl
。 所有你需要做的是改变其Content
属性视图之间切换。
我也建议有一个看棱镜图书馆拥有这种内置的功能,特别是其导航文档 。
你可以让2个独立的用户控件,并把每个窗口的内容的用户控件内。
你的主窗口中定义数据模板这些将决定什么是基于当前使用的视图Datacontext
<Window.Resources>
<DataTemplate DataType="{x:Type viewmodels:viewmodel1}" >
<views:Usercontrol1/>
</DataTemplate>
<DataTemplate DataType="{x:Type viewmodels:viewmodel2}" >
<views:Usercontrol2/>
</DataTemplate>
</Window.Resources>
然后创建一个MainViewModel
并定义currentviewmodel
viewmodel1
和viewmodel2
和命令,这将改变currentviewmodel
,之后设置你的主窗口的MainViewModel的DataContext的。
在你的主窗口,你的按钮绑定到该命令,然后你只要把命令改变currentviewmodel和你的主窗口内
<Button Content="change grid data context" Command="{Binding yourCommand}"/>
<Grid DataContext="{Binding currentviewmodel}"/>
你不用担心它查看使用,当在DataContext被置其查看使用的DataTemplates定义