UWP 中基于 NavigationView 模式隐藏 NavigationViewItemHeader
Hiding the NavigationViewItemHeader based on NavigationView Mode in UWP
我正在为 UWP 使用 NavigationView 组件,该组件随 Windows 10 Fall Creators Update Version 1709(OS build 16299)一起引入。您可以添加一些 header s 到 nav area 文档中写的:
The NavigationView pane can contain:
- Headers, in the form of NavigationViewItemHeader, for labeling groups of items
我添加了两个 header 这样的:
但是,如果应用程序视图状态已更改且 NavigationView 显示模式设置为 "Compact",我无法隐藏 header。此外,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;
}
}
如果您能提出解决方案,我很高兴。谢谢。
旧的良好可见性绑定怎么样?类似的东西(考虑到 Navigator 是 NavigationView 本身的名称):
<NavigationViewItemHeader Content="Header here" Visibility="{Binding ElementName=Navigator,Path=IsPaneOpen}"/>
此外,您可能会发现此讨论很有用:
我正在为 UWP 使用 NavigationView 组件,该组件随 Windows 10 Fall Creators Update Version 1709(OS build 16299)一起引入。您可以添加一些 header s 到 nav area 文档中写的:
The NavigationView pane can contain:
- Headers, in the form of NavigationViewItemHeader, for labeling groups of items
我添加了两个 header 这样的:
但是,如果应用程序视图状态已更改且 NavigationView 显示模式设置为 "Compact",我无法隐藏 header。此外,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;
}
}
如果您能提出解决方案,我很高兴。谢谢。
旧的良好可见性绑定怎么样?类似的东西(考虑到 Navigator 是 NavigationView 本身的名称):
<NavigationViewItemHeader Content="Header here" Visibility="{Binding ElementName=Navigator,Path=IsPaneOpen}"/>
此外,您可能会发现此讨论很有用: