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 которое задает для значение 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
Комментарии
При вызове CanExecutePreviewCanExecute метода в RoutedCommand вызывается событие в целевом объекте команды. Если событие не обработано, CanExecute возникает событие . Если целевой объект команды имеет CommandBinding для команды , CanExecute вызывается обработчик для этой CommandBinding команды. Если целевой объект команды не содержит CommandBinding для команды, CanExecute событие выполняется по дереву элементов, в поисках элемента, связанного с командой CommandBinding .
Сведения о маршрутизируемом событии
Поле идентификатора | CanExecuteEvent |
Стратегия маршрутизации | Восходящей |
Делегат | CanExecuteRoutedEventHandler |
- Соответствующее событие туннелирования — PreviewCanExecute.