CommandBinding.Executed Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит при выполнении команды, связанной с этим CommandBinding действием.
public:
event System::Windows::Input::ExecutedRoutedEventHandler ^ Executed;
public event System.Windows.Input.ExecutedRoutedEventHandler Executed;
member this.Executed : System.Windows.Input.ExecutedRoutedEventHandler
Public Custom Event Executed As ExecutedRoutedEventHandler
Public Event Executed As ExecutedRoutedEventHandler
Тип события
Примеры
В следующем примере создается объект, который сопоставляет 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)
Ниже показано, ExecutedRoutedEventHandler что создается MessageBox при выполнении команды.
void OpenCmdExecuted(object target, ExecutedRoutedEventArgs e)
{
String command, targetobj;
command = ((RoutedCommand)e.Command).Name;
targetobj = ((FrameworkElement)target).Name;
MessageBox.Show("The " + command + " command has been invoked on target object " + targetobj);
}
Private Sub OpenCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
Dim command, targetobj As String
command = CType(e.Command, RoutedCommand).Name
targetobj = CType(sender, FrameworkElement).Name
MessageBox.Show("The " + command + " command has been invoked on target object " + targetobj)
End Sub
Комментарии
RoutedCommand При выполнении событие вызывается PreviewExecuted в целевом объекте команды. PreviewExecuted Если событие не обрабатывается, Executed событие вызывается в целевом объекте команды. Если целевой объект команды имеет определенную CommandBinding команду, Executed обработчик для этого CommandBinding вызывается. Если целевой объект команды не имеет CommandBinding определенной команды Executed , событие пузырьки вверх по дереву элементов ищет элемент, связанный с командой CommandBinding . CommandBinding Если не найдено, команда не обрабатывается.
Сведения о перенаправленных событиях
| Элемент | Ценность |
|---|---|
| Поле идентификатора | ExecutedEvent |
| Стратегия маршрутизации | Восходящей |
| Делегировать | ExecutedRoutedEventHandler |
- Соответствующее событие туннелирования .PreviewExecuted