Skip to content

hc:SideMenu侧边菜单通过代码修改选中项,无法触发鼠标的事件怎么办? #1634

@realyw

Description

@realyw

Feature request type

enhancement

Is your feature request related to a problem? Please describe

我想通过点击一个按钮而不是菜单进行修改侧边菜单的选中状态,代码中sideMenuItem.IsSelected = true;修改后,无法触发sideMenuItem中受保护的OnSelected方法,导致我再次点击原先菜单项发现选中状态同时出现两个选中的。

Describe the solution you'd like

我想从某个页面中的按钮点击,然后修改菜单选中状态,如何实现呢?

Describe alternatives you've considered

No response

Additional context

///


/// 更新菜单选中状态
///

///
private void UpdateSideMenuSelected(SideMenuMessage message)
{
foreach (var item in SideMenu.Items)
{
if (item is SideMenuItem sideMenuItem)
{
if (sideMenuItem.Tag != null && message.MenuItemTag != null)
{
if (sideMenuItem.Tag.ToString() == message.MenuItemTag)
{
sideMenuItem.IsSelected = true;
}
}

        if (sideMenuItem.HasItems)
        {
            foreach (var subItem in sideMenuItem.Items)
            {
                if (subItem is SideMenuItem subSideMenuItem)
                {
                    if (subSideMenuItem.Tag != null && message.MenuItemTag != null)
                    {
                        if (subSideMenuItem.Tag.ToString() == message.MenuItemTag)
                        {
                            sideMenuItem.IsSelected = true;
                        }
                    }
                }
            }
        }
    }
}

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions