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 

Тип события

Примеры

В следующем примере создается объект, который сопоставляет CommandBindingExecutedRoutedEventHandler обработчик 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 для каких наборов задано CanExecutetrueзначение .

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

Комментарии

CanExecute При вызове PreviewCanExecute метода RoutedCommand вызывается событие на целевом объекте команды. Если событие не обрабатывается, CanExecute вызывается событие. Если целевой CommandBinding объект команды имеет команду, CanExecute то вызывается обработчик для этой CommandBinding команды. Если целевой объект команды не имеет CommandBinding для команды, CanExecute событие пузырьки вверх по дереву элементов ищет элемент, связанный CommandBinding с командой.

Сведения о перенаправленных событиях

Элемент Ценность
Поле идентификатора CanExecuteEvent
Стратегия маршрутизации Восходящей
Делегировать CanExecuteRoutedEventHandler
  • Соответствующее событие туннелирования .PreviewCanExecute

Применяется к

См. также раздел