UWP / C # Изменение видимости элемента управления в зависимости от режима NavView - PullRequest
0 голосов
/ 09 сентября 2018

Мне нужно попытаться изменить видимость моей StackPanel на основе NavigationView "PaneDisplaymode"

У меня есть следующий элемент управления Navigation View с простой AppBarButton StackPanel.

Я не уверен, есть ли способ сослаться на текущий 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>

1 Ответ

0 голосов
/ 09 сентября 2018

Вы можете использовать PaneClosed и PaneOpened события NavigationView , чтобы изменить Видимость вашей StackPanel , Другой способ сделать это - использовать DisplayModeChanged , где вы можете использовать инструкцию switch для свойства PaneDisplayMode и проверить, закрыто ли оно или открыто, а затем соответствующим образом изменить видимость.

...