如何在带Prism的SplitView上使用Frame导航?

时间:2017-04-25 16:07:48

标签: c# mvvm uwp prism

我正在使用一个使用Prism来应用MVVM模式的UWP项目。我有一个像这样的基本框架:

<Frame   x:Name="SplitViewFrame" ></Frame>

有了代码,我们可以轻松浏览此框架:

SplitViewFrame.Navigate(typeof(MyPage),null);

但是对于MVVM,我们必须在ViewModel中执行它,我无法管理它。有没有人知道如何使用Prism在ViewModel中导航帧?

1 个答案:

答案 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