2017-09-11 17 views
0

私はこれが基本的な質問であることを知っていますが、私が見つけたチュートリアルのどれも完全にこれを私に説明することはできません。ナビゲーション・ドロワー(UWP)からレイアウトを変更

私はNavigation Drawerを持つMainPage.xamlを持っています。

enter image description here

その後、私はそれに異なるコンテンツを持つTransferPage.xamlを持っています。私はこれをやってみた:

private void MyListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    Frame frame = new Frame(); 
    if (StartListBoxItem.IsSelected) 
    { 
     frame.Navigate(typeof(TransferPage), null); 
    } 
} 

しかし、それは動作しませんでした。ナビゲーションドロワーを持っている間に、私はページ1からページ2に転送する必要があります。

downvotingする前に、より具体的にお尋ねください。

+2

選択の変更を処理するたびに新しいフレームを作成するのではなく、既存のフレームへの参照を使用します。詳細はhttps://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/navigationviewを参照してください。中には、 'ContentFrame' xaml定義と表示するC#コードを示す例がありますどのようにナビゲートするか...あなたがやっていることは、ページ上にないフレームを作成し、それをナビゲートするように要求することです。それはあなたが尋ねることをしているかもしれませんが、それはページにないので見えません。 – CodexNZ

答えて

1

@CodexNZは、frameは、ページ上にないと述べています。

<SplitView.Content> 
    <Frame Name="MyFrame"/> 
</SplitView.Content> 

そして、あなたはこのcode sampleを参照してください可能性があり、より詳しくは、それを別のページに移動:あなたの要件については、次のようにSplitView.Contentためframeを設定することができます。

private void MyListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (MainItem.IsSelected) 
    { 
     MyFrame.Navigate(typeof(HomePage)); 
    } 
    else if (FavouritItem.IsEnabled) 
    { 
     MyFrame.Navigate(typeof(FavouritePage)); 
    } 
} 
関連する問題