CommandBinding.CanExecute 이벤트

정의

CommandBinding 명령과 연결된 명령이 명령 대상에서 명령을 실행할 수 있는지 여부를 확인하는 검사를 시작할 때 발생합니다.

public:
 event System::Windows::Input::CanExecuteRoutedEventHandler ^ CanExecute;
public event System.Windows.Input.CanExecuteRoutedEventHandler CanExecute;
member this.CanExecute : System.Windows.Input.CanExecuteRoutedEventHandler 
Public Custom Event CanExecute As CanExecuteRoutedEventHandler 
Public Event CanExecute As CanExecuteRoutedEventHandler 

이벤트 유형

예제

다음 예제에서는 명령과 CommandBinding 처리기를 매핑 ExecutedRoutedEventHandler 하는 CanExecuteRoutedEventArgs 메서드를 Open 만듭니다.

<Window.CommandBindings>
  <CommandBinding Command="ApplicationCommands.Open"
                  Executed="OpenCmdExecuted"
                  CanExecute="OpenCmdCanExecute"/>
</Window.CommandBindings>
// Creating CommandBinding and attaching an Executed and CanExecute handler
CommandBinding OpenCmdBinding = new CommandBinding(
    ApplicationCommands.Open,
    OpenCmdExecuted,
    OpenCmdCanExecute);

this.CommandBindings.Add(OpenCmdBinding);
' Creating CommandBinding and attaching an Executed and CanExecute handler
Dim OpenCmdBinding As New CommandBinding(ApplicationCommands.Open, AddressOf OpenCmdExecuted, AddressOf OpenCmdCanExecute)

Me.CommandBindings.Add(OpenCmdBinding)

다음은 다음으로 설정하는 CanExecuteRoutedEventHandler 방법을 보여 CanExecute 있습니다true.

void OpenCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    e.CanExecute = true;
}
Private Sub OpenCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    e.CanExecute = True
End Sub

설명

메서드 CanExecuteRoutedCommand 호출 PreviewCanExecute 되면 명령 대상에서 이벤트가 발생합니다. 이벤트가 처리되지 CanExecute 않으면 이벤트가 발생합니다. 명령 대상 CommandBinding 에 명령의 처리 CanExecute 기가 있으면 해당 CommandBinding 처리기가 호출됩니다. 명령 대상에 명령이 없 CommandBinding 으면 이벤트는 명령 CanExecute 과 연결된 요소를 검색하는 CommandBinding 요소 트리를 버블업합니다.

라우트된 이벤트 정보

항목 가치
식별자 필드 CanExecuteEvent
라우팅 전략 버블링
대리자 CanExecuteRoutedEventHandler

적용 대상

추가 정보