Если вы хотите скрыть NavigationView на другой странице, вы можете попытаться установить для OpenPaneLength значение 0 и скрыть его backbutton и PaneToggleButton. Когда вы вернетесь, вы можете сбросить OpenPaneLength и отобразить кнопки. Например:
NavigationViewControl.OpenPaneLength = 0;
NavigationViewControl.IsBackButtonVisible = NavigationViewBackButtonVisible.Collapsed;
NavigationViewControl.IsPaneToggleButtonVisible = false;
Или , NavigationView отображался во фрейме ShellPage и содержал фрейм, который использовался для отображения страниц. Если вы хотите отобразить одну страницу и скрыть NavigationView, вы также можете отобразить одну страницу в кадре Root. Например:
.xaml:
<NavigationView x:Name="NavigationViewControl" SelectionChanged="NavigationViewControl_SelectionChanged" >
<NavigationView.MenuItems>
<NavigationViewItem Content="Normal Page" Tag="NormalPage" />
<NavigationViewItemSeparator/>
<NavigationViewItem Content="Hide Navi Page" Tag="SinglePage" />
</NavigationView.MenuItems>
<Frame x:Name="contentFrame"/>
</NavigationView>
.cs:
private void NavigationViewControl_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
{
var selectedItem = (NavigationViewItem)args.SelectedItem;
if ((string)selectedItem.Tag == "SinglePage")
{
this.Frame.Navigate(typeof(SinglePage));
}
else
{
contentFrame.Navigate(typeof(NormalPage));
}
}
Здесь - образец, к которому вы можете обратиться.