微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NavigationViewItem 不居中

如何解决NavigationViewItem 不居中

我想制作一个类似于 Microsoft Store 的导航视图。

Microsoft Store

到目前为止,我已经做到了。

My App

但是有两个问题。

  1. 图标和文本未居中。
  2. 选择指示器非常小。

我该如何解决这个问题。这是我的 xaml。

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Torrent"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:Custom="using:System.Numerics"
x:Class="Torrent.MainPage"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">


<muxc:NavigationView 
    x:Name="nvSample"
    IsBackButtonVisible="Collapsed" IsPanetoggleButtonVisible="False" PanedisplayMode="LeftCompact" CompactPaneLength="80" FontSize="24" >

    <muxc:NavigationView.MenuItems>
        <!--<muxc:NavigationViewItem Icon="Play" Content="Menu Item1" Tag="SamplePage1" />-->
        <muxc:NavigationViewItem Tag="SamplePage1" Height="80" BackgroundSizing="OuterBorderEdge">
            <StackPanel HorizontalAlignment="Center">
                <TextBlock Text="&#xE138;" FontFamily="Segoe Fluent Icons" FontSize="26" HorizontalAlignment="Center" />
                <TextBlock Text="All" HorizontalAlignment="Center" />
            </StackPanel>
        </muxc:NavigationViewItem>
    </muxc:NavigationView.MenuItems>

    <Frame x:Name="contentFrame"/>
</muxc:NavigationView>

解决方法

一个简单的解决方法是为 StackPanel 使用负的左边距:

<NavigationViewItem Tag="SamplePage1" Height="80" BackgroundSizing="OuterBorderEdge">
    <StackPanel HorizontalAlignment="Center" Margin="-5 0 0 0">
        <TextBlock Text="&#xE138;" ... />
        ...

您可以根据您的要求和大小调整值(上面示例标记中的 -5)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。