You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Uno Platform:移除NavigationView右侧多余间距问题求助

Uno Platform NavigationView 居中对齐及右侧多余间距问题解决

问题原因

NavigationView 在 PaneDisplayMode="Top" 模式下,默认会拉伸至父容器的全部宽度,且内部布局会为隐藏的返回按钮、设置按钮预留空间,导致设置 HorizontalAlignment="Center" 无法生效,右侧出现多余空白。

解决方法

通过以下调整让控件居中并消除右侧多余间距:

  • 设置 Width="Auto":让控件仅包裹自身内容,而非撑满父容器,这样 HorizontalAlignment="Center" 才能生效。
  • 添加 HorizontalContentAlignment="Center":确保内部菜单选项也居中对齐。

修改后的完整代码:

<NavigationView
    Background="Red"
    PaneDisplayMode="Top"
    IsSettingsVisible="False"
    Grid.Row="1"
    HorizontalAlignment="Center"
    IsBackButtonVisible="Collapsed"
    Width="Auto"
    HorizontalContentAlignment="Center">

    <NavigationView.MenuItems>
        <NavigationViewItem Content="Home" Tag="SamplePage1" Icon="Library"/>
        <NavigationViewItem Content="Search" Tag="SamplePage5" Icon="Shop" />
        <NavigationViewItem Content="Search" Tag="SamplePage5" Icon="Shop" />
        <NavigationViewItem Content="Search" Tag="SamplePage5" Icon="Shop"/>
    </NavigationView.MenuItems>
</NavigationView>

进阶处理(若仍有多余间距)

如果上述设置后右侧仍有空白,可提取并修改 NavigationView 的默认模板,移除为隐藏控件预留的右侧布局区域。Uno Platform 的 NavigationView 模板与 UWP 兼容,可通过开发工具的「提取模板」功能获取后调整 TopPaneGrid 的布局逻辑,删除多余的占位元素。

内容的提问来源于stack exchange,提问作者Denis_LT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:00:51