#uwp #uwp-xaml #navigationview
#uwp #uwp-xaml #navigationview
Вопрос:
Я пытаюсь установить выбранный элемент по умолчанию для navigationview с помощью
DashboardMenuItem.IsExpanded = true;
Microsoft.UI.Xaml.Controls.NavigationViewItem selectedItem =(Microsoft.UI.Xaml.Controls.NavigationViewItem)DashboardMenuItem.MenuItems[0];
NavView.SelectedItem = selectedItem;
Вот мой XAML
<MUXC:NavigationView.MenuItems>
<MUXC:NavigationViewItem
x:Name="DashboardMenuItem"
Content="{x:Bind DashboardLabel}"
Foreground="#FFFFFF"
ToolTipService.ToolTip="{x:Bind DashboardLabel}">
<MUXC:NavigationViewItem.Icon>
<FontIcon FontFamily="Segoe MDL2 Assets" Glyph="amp;#xE8A9;" />
</MUXC:NavigationViewItem.Icon>
<MUXC:NavigationViewItem.MenuItems>
<MUXC:NavigationViewItem
x:Name="ListofPersonMenuItem"
Content="{x:Bind ListofPersonLabel}"
Foreground="#FFFFFF"
ToolTipService.ToolTip="{x:Bind ListofPersonLabel}" />
<MUXC:NavigationViewItem
x:Name="ListofDiedPersonsMenuItem"
Content="{x:Bind ListofDiedPersonsLabel}"
Foreground="#FFFFFF"
ToolTipService.ToolTip="{x:Bind ListofDiedPersonsLabel}" />
</MUXC:NavigationViewItem.MenuItems>
</MUXC:NavigationViewItem>
Но у моего пункта меню есть только фон подсветки, у него по-прежнему нет левой панели, как при выборе щелчком мыши. Ссылка на изображение ниже (извините, потому что я еще не могу опубликовать изображение)
https://i.gyazo.com/f2953c8f092534ea26ceb7fef0120de2.png
Итак, у вас есть какие-либо предложения по этому поводу, пожалуйста?
Заранее благодарю
Ответ №1:
Navigationview устанавливает выбранный элемент для пункта подменю в приложении UWP
Во время тестирования проблема заключается в том, что блок анимации expend выбирает анимацию, из-за которой индикатор элемента отклоняется. В настоящее время у нас есть обходной путь, который добавляет задержку задачи перед установкой SelectedItem
. После завершения DashboardMenuItem будет выполнена анимация выбора.
DashboardMenuItem.IsExpanded = true;
Microsoft.UI.Xaml.Controls.NavigationViewItem selectedItem = (Microsoft.UI.Xaml.Controls.NavigationViewItem)DashboardMenuItem.MenuItems[0];
await Task.Delay(100);
MainNavigation.SelectedItem = selectedItem;