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.