Navigationview устанавливает выбранный элемент для пункта подменю в приложении UWP

#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;