2017-01-17 12 views
0

私はUWPアプリケーション用にこの「ハンバーガーメニュー」をXAMLで作成しました。私は、メニューアイテムがクリックされたときにフレームを使って別のページを表示しています。フレームが開かれた後、XAMLのハンバーガーメニューが消えます

私のXAML:

<Grid.Background> 
     <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
      <GradientStop Color="#FF298025" Offset="0"/> 
      <GradientStop Color="#FF107C10" Offset="1"/> 
     </LinearGradientBrush> 
</Grid.Background> 
<Grid.RowDefinitions> 
     <RowDefinition Height="auto" /> 
     <RowDefinition Height="*" /> 
</Grid.RowDefinitions> 
<RelativePanel> 
     <Button x:Name="HamburgerButton" FontFamily="Segoe MDL2 Assets" Content="&#xE700;" FontSize="36" Click="HamburgerButton_Click" /> 
</RelativePanel> 
<SplitView x:Name="MySplitView" 
       Grid.Row="1" 
       DisplayMode="CompactOverlay" 
       OpenPaneLength="200" 
       CompactPaneLength="56" 
       HorizontalAlignment="Left"> 
     <SplitView.Pane> 
       <ListBox SelectionMode="Single" x:Name="IconsListBox" SelectionChanged="IconsListBox_SelectionChanged"> 
       <ListBoxItem x:Name="VoteListBoxItem"> 
         <StackPanel Orientation="Horizontal"> 
          <TextBlock FontFamily="Segoe MDL2 Assets" FontSize="36" Text="&#xE8E1;" /> 
          <TextBlock Text="Vote" FontSize="24" Margin="20,0,0,0" /> 
         </StackPanel> 
        </ListBoxItem> 
        <ListBoxItem x:Name="AppDetailsListBoxItem"> 
         <StackPanel Orientation="Horizontal"> 
          <TextBlock FontFamily="Segoe MDL2 Assets" FontSize="36" Text="&#xE115;" /> 
          <TextBlock Text="App Details" FontSize="24" Margin="20,0,0,0" /> 
         </StackPanel> 
        </ListBoxItem> 
       </ListBox> 
     </SplitView.Pane> 
     <SplitView.Content> 
       <Frame x:Name="ViewFrame" /> 
     </SplitView.Content> 
</SplitView> 

私のC#:メニュー項目がクリックされるたび

private void IconsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
     ViewFrame = this.Frame; 
     if (VoteListBoxItem.IsSelected) { Frame.Navigate(typeof(VotePage)); } 
     else if (AppDetailsListBoxItem.IsSelected) { Frame.Navigate(typeof(AppDetailsPage)); } 
} 

private void HamburgerButton_Click(object sender, RoutedEventArgs e) 
{ 
    MySplitView.IsPaneOpen = !MySplitView.IsPaneOpen; 
} 

このコードに問題がある、ページが実際に「フレームにロードされたが、全体れますバーガーメニュー]が消えます。

答えて

1

あなたがメインフレームでナビゲートしている、あなたはこのようなSlipViewコンテンツで宣言されたものを使用する必要があります:実際に

private void IconsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (VoteListBoxItem.IsSelected) 
     ViewFrame.Navigate(typeof(VotePage)); 
    else if (AppDetailsListBoxItem.IsSelected) 
     ViewFrame.Navigate(typeof(AppDetailsPage)); 
} 

ViewFrameすでに作成されている、あなたはを参照して、それを上書きする必要はありません。メインページフレーム

+0

ありがとうございました!それは魅力のように機能します! – Chris

関連する問題