2014-02-14 2 views
0

<MenuItem>에 명령을 추가 할 때마다 전경이 회색으로 표시됩니다. 명령을 제거하면 정상적으로 스타일이 지정됩니다.KeyCommand가 비활성화 됨 MenuItem

마치 명령을 사용할 때 MenuItem이 비활성화 된 것처럼 보입니다.

이것은 스타일링 문제 일 수 있습니까? 내 응용 프로그램의 스타일을 설정하는 MahApps.Metro를 사용하고 있습니다.

<MenuItem Header="_SETTINGS" Margin="0,0,10,0"> 
       <MenuItem Header="_View Settings" Command="ApplicationCommands.Properties"> 
        <MenuItem.Icon> 
         <Image Height="16" Width="16" Source="../Images/settings-26.png"></Image> 
        </MenuItem.Icon> 
       </MenuItem> 
      </MenuItem> 
+0

을 사용할 수 없습니다? 실행할 항목이 없으면 비활성화됩니다. – dkozl

+0

@dkozl - 아니에요! 아직. 답변으로 게시하고 문제가있는 것으로 판명되면 올바른 투표를 할 것입니다. :) – user1021726

답변

2

당신은 포함되어 있지 그렇지 않으면

RoutedCommand.CanExecute

RoutedCommand가 현재 명령 대상에서 실행할 수 있는지를 결정하는 실제 로직을 사용할 수 없게됩니다 해당 명령에 대한 몇 가지 CommandBinding를 연결해야합니다 CanExecute 메서드에서 CanExecute는 CommandBinding을 사용하여 개체를 찾고 요소 트리를 터널링하고 버블 링하는 PreviewCanExecute 및 CanExecute 이벤트를 발생시킵니다. 해당 RoutedCommand에 대한 CommandBinding이 발견되면 CommandBinding에 첨부 된 CanExecuteRoutedEventHandler가 호출됩니다. 이러한 핸들러는 RoutedCommand를 실행할 수 있는지 여부를 결정하는 프로그래밍 논리를 제공합니다. CommandBindingCommandManager.CanExecute 이벤트없이

항상 거짓으로 돌아왔다 것이며, 당신이 뭔가이 명령에 첨부 마십시오 버튼을

관련 문제