【发布时间】:2018-09-25 10:43:48
【问题描述】:
我正在探索 uwp 项目的导航视图控件。我注意到,当我将窗口调整为更小的尺寸时,菜单会变为紧凑模式,如果窗口足够小,它会覆盖在右侧的页面窗口上,而不是将其推到一边。
我想将导航视图控件更改为默认情况下具有此行为,而无需将窗口大小调整为较小的大小。目标是让页面窗口尽可能有最大的可用空间。
我尝试了一些属性,但没有一个有效,任何指针如何更改此默认行为(覆盖并始终处于紧凑模式)?
【问题讨论】:
我正在探索 uwp 项目的导航视图控件。我注意到,当我将窗口调整为更小的尺寸时,菜单会变为紧凑模式,如果窗口足够小,它会覆盖在右侧的页面窗口上,而不是将其推到一边。
我想将导航视图控件更改为默认情况下具有此行为,而无需将窗口大小调整为较小的大小。目标是让页面窗口尽可能有最大的可用空间。
我尝试了一些属性,但没有一个有效,任何指针如何更改此默认行为(覆盖并始终处于紧凑模式)?
【问题讨论】:
你应该使用最新的NavigationView by winui库,并且在这个控件中你有一个属性PaneDisplayMode,探索这个属性的值你就可以知道到底是什么你要。在您的场景中,您希望左窗格完全消失并覆盖,然后您可以尝试 LeftMinimal 但如果您希望它处于仅显示图标的紧凑模式,那么您可以使用 LeftCompact
【讨论】:
您可以尝试配置NavigationView 的CompactModeThresholdWidth 和ExpandedModeThresholdWidth 属性。这些属性将获取或设置 NavigationView 进入 Compact 或 Expanded 显示模式的最小窗口宽度。
<NavigationView CompactModeThresholdWidth="280" ExpandedModeThresholdWidth="2800"/>
您可以根据需要设置宽度值。例如,如果您希望 NavigationView 始终处于 Compact 模式,则可以将上述代码与任何小于默认 UWP 应用程序窗口宽度和 ExpandedModeThresholdWidth 属性值的 CompactModeThresholdWidth 属性值一起使用大于最大窗口宽度。
【讨论】: