UWP中基于NavigationView模式隐藏NavigationViewItemHeader

ber*_*rkb 1 win-universal-app windows-10 uwp windows-10-universal uwp-xaml

我正在使用UWP 的NavigationView组件,该组件随 Windows 10 Fall Creators Update Version 1709(OS build 16299)一起引入。您可以向导航区域添加一些标题,如文档中所述:

NavigationView 窗格可以包含:

  • 标题,采用 NavigationViewItemHeader 的形式,用于标记项目组

我添加了两个这样的标题:

在此处输入图片说明

但是,如果更改应用程序视图状态并且 NavigationView 显示模式设置为“紧凑”,我将无法隐藏标题。此外,NavigationView没有包含在 SplitPane 组件中的 paneClosed 或 PaneOpened 等事件。

在此处输入图片说明

我试过这个代码块,但它不是完整的解决方案:

private void Navigator_DisplayModeChanged(NavigationView sender, NavigationViewDisplayModeChangedEventArgs args)
    {

        if (args.DisplayMode == NavigationViewDisplayMode.Compact && Navigator.IsPaneOpen)
        {
            Other.Visibility = Visibility.Collapsed;
            Main_Operations.Visibility = Visibility.Collapsed;
        }

        else
        {
            Other.Visibility = Visibility.Visible;
            Main_Operations.Visibility = Visibility.Visible;
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果您能就此事提出解决方案,我很高兴。谢谢你。

Yur*_*ula 5

旧的良好可见性绑定怎么样?类似的东西(鉴于 Navigator 是 NavigationView 本身的名称):

<NavigationViewItemHeader Content="Header here" Visibility="{Binding ElementName=Navigator,Path=IsPaneOpen}"/>
Run Code Online (Sandbox Code Playgroud)

此外,您可能会发现此讨论很有用:UWP - 防止 NavigationViewItemHeader 被剪裁