2014-01-27 47 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"); 
} 

打開文件菜單時,應被調用。