2014-01-27 2 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 및 명령을 사용하십시오. command u를 사용하면 명령의 CanExecute를 사용하여 메뉴 항목을 활성화/비활성화 할 수 있습니다. – Nitin

답변

0

사용하여 파일 메뉴가 열릴 때

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

MenuItem.SubmenuOpened

그래서

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

호출을하셔야합니다.