我需要尝试根据NavigationView“ PaneDisplaymode”更改StackPanel的可见性
我具有以下带有简单AppBarButton StackPanel的Navigation View控件。
不确定是否可以引用当前的PanDisplayMode并确定StackPanel的可见性吗?
任何有关此的指导/帮助都将很棒。
<NavigationView IsSettingsVisible="False"
PaneTitle="Menu"
x:Name="NavView"
IsBackButtonVisible="Collapsed"
PaneDisplayMode="Left"
AlwaysShowHeader="True"
SelectionChanged="NavView_SelectionChanged">
<!-- All navigation view Items nested within here -->
<NavigationView.MenuItems>
<StackPanel Orientation="Horizontal" UseLayoutRounding="False" x:Name="AppBarButtons" Tag="AppBarButtonPanel"> <!--Visibility="{Binding ControlShit}"-->
<AppBarButton Icon="Page2" Margin="0, 2, 1, 0" Tag="New_Sheet" HorizontalAlignment="Center" Width="56.5" Height="56.5" ClickMode="Press" Click="NewFile_ClickAsync"/>
<AppBarButton Icon="OpenFile" Margin="1, 2, 0, 0" Tag="Open_Sheet" HorizontalAlignment="Center" Width="56.5" Height="56.5" ClickMode="Press" Click="OpenFile_Click"/>
<AppBarButton Icon="Save" Margin="1, 2, 0, 0" Tag="Save_Sheet" HorizontalAlignment="Center" Width="56.5" Height="56.5" ClickMode="Press" Click="SaveButton_ClickAsync"/>
<AppBarButton Icon="Setting" Margin="1, 2, 0, 0" Tag="Settings_Page" HorizontalAlignment="Center" Width="56.5" Height="56.5" ClickMode="Press" Click="SettingsButton_Click"/>
<AppBarButton Icon="Calculator" Margin="1, 2, 0, 0" Tag="Calculator_Open" HorizontalAlignment="Center" Width="56.5" Height="56.5" ClickMode="Press" Click="CalcButton_ClickAsync"/>
</StackPanel>
</NavigationView.MenuItems>
答案 0 :(得分:1)
您可以使用 NavigationView 的PaneClosed和PaneOpened事件来更改 StackPanel 的 Visibility 这样做的方法是使用DisplayModeChanged,在其中您可以对 PaneDisplayMode 属性使用switch语句,并检查它是关闭还是打开,然后相应地更改可见性。