我正在使用一个使用Prism来应用MVVM模式的UWP项目。我有一个像这样的基本框架:
<Frame x:Name="SplitViewFrame" ></Frame>
有了代码,我们可以轻松浏览此框架:
SplitViewFrame.Navigate(typeof(MyPage),null);
但是对于MVVM,我们必须在ViewModel中执行它,我无法管理它。有没有人知道如何使用Prism在ViewModel中导航帧?
答案 0 :(得分:1)
Prism的NavigationService
引用了能够进行导航的框架。在应用程序引导序列期间,这是injected。但是,您可以创建app shell而不是默认的单页导航,以支持splitview /汉堡菜单。
查看Windows Samples存储库中的SplitView sample。在启动期间,将覆盖CreateShell方法以支持splitview。
protected override UIElement CreateShell(Frame rootFrame)
{
var shell = Container.Resolve<AppShell>();
shell.SetContentFrame(rootFrame);
return shell;
}
请注意,您目前无法将默认页面导航和分割视图组合在一起,例如单个棱镜中的第3页NavigationService
。