我有一个简单的 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 项目有蓝色下划线,表示它是选定的项目,但我也得到以下第一个项目周围的意外白色边框。
我无法弄清楚是什么导致了那个白色边框。只要我在任何地方单击任何内容,白色边框就会消失,但我不希望它一开始就在那里。