0

我有一个简单的 WinUI 3 应用程序,其NavigationView元素包含两个NavigationViewItem对象。

    <NavigationView x:Name="TopNav"
                    Loaded="TopNav_Loaded" ItemInvoked="TopNav_ItemInvoked" Header="CypherNotes" PaneDisplayMode="Top" IsBackButtonVisible="Collapsed" IsBackEnabled="False">
        <NavigationView.MenuItems>
            <NavigationViewItem Content="Notes" Tag="notes" />
            <NavigationViewItem Content="Pastebin" Tag="pastebin" />
        </NavigationView.MenuItems>
        <Frame x:Name="ContentFrame"/>
    </NavigationView>

TopNav_Loaded事件处理程序中,我将pastebin项目设置SelectedItem为导航以在启动时登陆该页面。

private readonly Dictionary<string, Type> _pages = new Dictionary<string, Type>
{
    { "notes", typeof(NotesPage) },
    { "pastebin", typeof(PastebinPage) },
    { "settings", typeof(SettingsPage) }
};

private void TopNav_Loaded(object sender, RoutedEventArgs e)
{
    NavigationView topNav = sender as NavigationView;
    topNav.SelectedItem = topNav.MenuItems.ToList().Find(item => (item as NavigationViewItem).Tag.Equals("pastebin"));
    ContentFrame.Navigate(_pages["pastebin"]);
}

当我运行该应用程序时,pastebin 项目有蓝色下划线,表示它是选定的项目,但我也得到以下第一个项目周围的意外白色边框。

WhiteBorderAroundFirstItem

我无法弄清楚是什么导致了那个白色边框。只要我在任何地方单击任何内容,白色边框就会消失,但我不希望它一开始就在那里。

4

0 回答 0