【问题标题】:Submenu in Menu Bar enable disable菜单栏中的子菜单启用禁用
【发布时间】:2014-02-18 02:08:26
【问题描述】:

我有以下用于菜单栏的 xaml:

<Menu Height="21" VerticalAlignment="Top">
        <MenuItem Header="FILE">
            <MenuItem Header="New Search" Click="miNewSearch"/>
            <Separator/>
            <MenuItem Header="Open Search" Click="miOpenSearch"/>
            <MenuItem Header="Save" Click="miSaveSearch"/>
            <MenuItem Header="Save As"/>
            <Separator/>
            <MenuItem Header="Open/New Database" Click="miOpenNewDB"/>
            <Separator/>
            <MenuItem Header="Exit" Click="miExitApp"/>
        </MenuItem>            
    </Menu>

我的要求是在选择文件菜单时禁用子菜单,我应该使用哪个事件处理程序,我已经搜索过它但没有找到任何答案。我在 Menuitem 上使用了“Click”事件,如下所示:

<MenuItem Header="FILE" Click="eventhandler">

但 eventthanler 在选择任何子菜单项后会被执行。请帮忙,我是 WPF 新手。

【问题讨论】:

  • 您的 xaml sn-p 在哪里? :)
  • 对不起,我已经编辑好了
  • 在此处使用 MVVM 和命令。如果您使用命令,您可以使用命令的 CanExecute 来启用/禁用菜单项。

标签: wpf menu submenu


【解决方案1】:

使用MenuItem.SubmenuOpened

所以

<MenuItem Header="FILE"
          SubmenuOpened="MenuItem_OnSubmenuOpened">

private void MenuItem_OnSubmenuOpened(object sender, RoutedEventArgs e) {
  Debug.WriteLine("Called");
}

应该在文件菜单打开时调用。

【讨论】:

    猜你喜欢
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多