2014-01-27 46 views
0

我有以下的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 Header="FILE" Click="eventhandler"> 

但eventhanler是越来越任何选择子菜单项后执行。请帮忙,我是WPF的新手。

+1

您的xaml代码片段在哪里? :) –

+0

对不起,现在我编辑了它 – user3030342

+1

在这里使用MVVM和命令。如果您使用命令,则可以使用CanExecute of命令启用/禁用菜单项。 – Nitin

回答

0

使用MenuItem.SubmenuOpened

所以

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

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

打开文件菜单时,应被调用。