2017-04-25 1 views
1

私はMVVMパターンを適用するためにPrismを使用しているUWPプロジェクトで作業しています。私はこのような基本的なフレームがあります:背後にあるコードでプリズム付きSplitViewでフレームナビゲーションを使用するには?

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

を、我々は簡単にこのフレームをナビゲートすることができます。

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

しかし、MVVMで、私たちはViewModelににそれをしなければならないと私が管理する方法がありませんそれ。誰もがViewModelのフレームをPrismでナビゲートする方法を知っていますか?

答えて

1

プリズムのNavigationServiceには、ナビゲーションを実行できるフレームへの参照があります。アプリケーションの起動時にはinjectedになります。ただし、splitview/hamburgerメニューをサポートするデフォルトの単一ページナビゲーションの代わりにapp shellを作成することができます。

WindowsサンプルリポジトリのSplitView sampleをご覧ください。起動時に、CreateShellメソッドは、splitviewをサポートするようにオーバーライドされます。

protected override UIElement CreateShell(Frame rootFrame) 
    { 
     var shell = Container.Resolve<AppShell>(); 
     shell.SetContentFrame(rootFrame); 
     return shell; 
    } 

現在のところ、デフォルトのページナビゲーションとスプリットビューを組み合わせることはできません。単一のプリズムNavigationServiceの3ページ。

関連する問題