2017-01-15 6 views
1

Visual Studio 2015를 사용하고 UWP Apps를 만드는 법을 배우고 있습니다. 햄버거 스타일 내비게이션을 만들고 싶지만 햄버거 버튼을 클릭 한 후에도 splitview가 열리지 않으며 어떤 오류도 표시되지 않습니다. 햄버거 버튼에 이벤트 핸들러도 추가했습니다. 일어나는 또 다른 문제는 이미지가 올바르게 표시되는 것입니다. 이미지가 오른쪽과 아래로 약간 이동합니다. 뒤에디버그시 splitview가 열리지 않습니다.

코드 :

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

내 페이지 :

<Page 
    x:Class="MathAssistant.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:MathAssistant" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d"> 

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 

     <Grid.RowDefinitions> 
      <RowDefinition Height="50" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 

     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="50" /> 
      <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <Button Name="HBbutton" Click="HBbutton_Click" Grid.Column="0" Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" FontFamily="Segoe MDL2 Assets" Content="&#xE700;" FontSize="25" Background="BlueViolet"/> 

     <TextBlock Name="Heading" Grid.Column="1" Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="36" Foreground="CornflowerBlue" /> 

     <SplitView Grid.Row="1" 
        Name="MySplitView" 
        DisplayMode="CompactOverlay" 
        OpenPaneLength="200" 
        CompactPaneLength="56"> 
      <SplitView.Pane> 
       <ListBox SelectionMode="Single" 
         SelectionChanged="MenuListBox_SelectionChanged"> 
        <ListBoxItem Name="MenuItemUnitConverter"> 
         <StackPanel Orientation="Horizontal"> 
          <Image Source="Assets/unitconverterlogo.png" Style="{StaticResource SplitviewLogoStyle}" /> 
          <TextBlock FontSize="24" Margin="20,0,0,0">Unit Converter</TextBlock> 
         </StackPanel> 
        </ListBoxItem> 
        <ListBoxItem Name="MenuItemCalculator"> 
         <StackPanel Orientation="Horizontal"> 
          <Image Source="Assets/calculatorlogo.png" Style="{StaticResource SplitviewLogoStyle}"/> 
          <TextBlock FontSize="24" Margin="20,0,0,0">Calculator</TextBlock> 
         </StackPanel> 
        </ListBoxItem> 
       </ListBox> 
      </SplitView.Pane> 
      <SplitView.Content> 
       <Frame Name="MyFrame"></Frame> 
      </SplitView.Content> 

     </SplitView> 
    </Grid> 
</Page> 

답변

0

귀하의 그것이 Width (50)의 픽셀 처음 Grid.Column에 갇혀 있기 때문에 SplitView가 개방되지 않습니다. SplitView에서 ColumnSpan을 변경하여 문제를 해결할 수 있습니다.

<SplitView Grid.Row="1" Grid.ColumnSpan="2" 
      Name="MySplitView" 
      DisplayMode="CompactOverlay" 
      OpenPaneLength="200" 
      CompactPaneLength="56"> 

당신은 일반적으로 SplitView 창 내부에 햄버거 버튼을 설정하십시오 SplitView의 샘플 구현으로 this MSDN article를 참조하십시오.

+0

바트에게 감사드립니다. 문제는, 실제 애플 리케이션에있는 것처럼 햄버거 버튼 바로 아래에 이미지를 쌓을 수는 없습니다. 나는 그들에게 여백을주지는 않았지만 여전히 그들은 그들이 예정되어있는 것처럼 자신을 준비하지 않는다. –

+0

레이아웃 관련 문제가있는 경우 새로운 질문을 열어서 각 질문을 Google 등에서 쉽게 찾을 수 있도록하십시오. 새 질문에 SplitviewLogoStyle을 복사하는 것을 잊지 마십시오. – Bart