代码之家  ›  专栏  ›  技术社区  ›  Pollitzer

如何在顶级菜单项中将IsHighlighted设置为false?

  •  0
  • Pollitzer  · 技术社区  · 8 年前

    在这里,您可以看到初始情况,突出显示菜单项“编码”:

    enter image description here

    现在,我想通过编程摆脱突出显示的状态。
    这是有效的,但闪烁:

    WindowState stateOfWindowContainingTheMenu = win.WindowState;
    win.WindowState = WindowState.Minimized;
    win.WindowState = stateOfWindowContainingTheMenu;
    

    这个 IsHighlighted 菜单项的setter是受保护的,我想避免子类化。
    我在找一个 C# 窗口冻结或其他解决方案(尽管我没有 Xaml 解决方案)。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Pollitzer    8 年前

    我很高兴终于找到了解决方案:如果我首先关注 MenuItem 然后 Window :

    topLevelMenuItem.Focus();
    windowContainingTheMenu.Focus();