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