Поделиться через


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 

Тип события

Примеры

В следующем примере создается 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)

Ниже показан объект , 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 команды. Если целевой объект команды не имеет для этой конкретной CommandBindingExecuted команды, событие выполняет пузырьк вверх по дереву элементов, в поисках элемента, связанного с командой CommandBinding . Если объект CommandBinding не найден, команда не обрабатывается.

Сведения о маршрутизируемом событии

Поле идентификатора ExecutedEvent
Стратегия маршрутизации Восходящей
Делегат ExecutedRoutedEventHandler
  • Соответствующее событие туннелирования — PreviewExecuted.

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

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