【问题标题】:Navigationview Set SelectedItem for sub-menu item in UWP appNavigationview 为 UWP 应用中的子菜单项设置 SelectedItem
【发布时间】:2020-11-26 06:58:58
【问题描述】:

我试图通过设置导航视图的默认选定项

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="&#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

那么,请问您对此有什么建议吗?

提前致谢

【问题讨论】:

    标签: uwp uwp-xaml navigationview


    【解决方案1】:

    导航视图为 UWP 应用中的子菜单项设置 SelectedItem

    在测试期间,问题是消耗动画块选择动画,使项目指示器消失。目前我们有一个解决方法,可以在设置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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 2017-04-26
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 2018-06-29
      • 2020-01-14
      • 2019-02-18
      相关资源
      最近更新 更多