ExecutedRoutedEventHandler Делегат

Определение

Представляет метод, обрабатывающий перенаправленные события Executed и PreviewExecuted, а также связанные присоединенные события.Represents the method that will handle the Executed and PreviewExecuted routed events, as well as related attached events.

public delegate void ExecutedRoutedEventHandler(System::Object ^ sender, ExecutedRoutedEventArgs ^ e);
public delegate void ExecutedRoutedEventHandler(object sender, ExecutedRoutedEventArgs e);
type ExecutedRoutedEventHandler = delegate of obj * ExecutedRoutedEventArgs -> unit
Public Delegate Sub ExecutedRoutedEventHandler(sender As Object, e As ExecutedRoutedEventArgs)

Параметры

sender
Object

Объект, к которому присоединен обработчик событий.The object where the event handler is attached.

e
ExecutedRoutedEventArgs

Данные события.The event data.

Наследование
ExecutedRoutedEventHandler

Примеры

В этом примере создается ExecutedRoutedEventHandler объект, который задает визуальное свойство в целевом объекте при выполнении команды.This example creates an ExecutedRoutedEventHandler that sets a visual property on the target when the command is executed. Пример также включает в CanExecuteRoutedEventHandler себя для той же команды.The example also includes the CanExecuteRoutedEventHandler for the same command.

// ExecutedRoutedEventHandler for the custom color command.
private void ColorCmdExecuted(object sender, ExecutedRoutedEventArgs e)
{
    Panel target = e.Source as Panel;
    if (target != null)
    {
        if (target.Background == Brushes.AliceBlue)
        {
            target.Background = Brushes.LemonChiffon;
        }
        else
        {
            target.Background = Brushes.AliceBlue;
        }

    }
}

// CanExecuteRoutedEventHandler for the custom color command.
private void ColorCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    if (e.Source is Panel)
    {
        e.CanExecute = true;
    }
    else
    {
        e.CanExecute = false;
    }
}
' ExecutedRoutedEventHandler for the custom color command.
Private Sub ColorCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    Dim target As Panel = TryCast(e.Source, Panel)
    If target IsNot Nothing Then
        If target.Background Is Brushes.AliceBlue Then
            target.Background = Brushes.LemonChiffon
        Else
            target.Background = Brushes.AliceBlue
        End If

    End If
End Sub

' CanExecuteRoutedEventHandler for the custom color command.
Private Sub ColorCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    If TypeOf e.Source Is Panel Then
        e.CanExecute = True
    Else
        e.CanExecute = False
    End If
End Sub

Комментарии

Этот делегат содержит логику реализации для RoutedCommand.This delegate contains the implementation logic for a RoutedCommand. Отделение логики реализации от команды позволяет вызывать команду из различных источников и типов и обеспечивает централизованную логику команды.Separating the implementation logic from the command allows the command to be invoked from different sources and types, and enables the centralization of command logic.

Этот делегат также используется для CommandManager.Executed и CommandManager.PreviewExecuted, которые CommandManager являются присоединенными событиями в классе, который реализует большую часть инфраструктуры команд.This delegate is also used for CommandManager.Executed and CommandManager.PreviewExecuted, which are attached events on the CommandManager class that implements much of the commanding infrastructure. Но большинство практических обработчиков будут Executed обработаны события CommandBindingиз определенного, а не для CommandManager работы на уровне.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

В ExecutedRoutedEventArgsслужбах следующие свойства обычно представляют интерес при написании обработчика событий для перенаправленного события, полученного из выполняемой команды:Within ExecutedRoutedEventArgs, the following properties are generally of interest when you write an event handler for a routed event that results from an executed command:

  • Sourceсообщает целевой объект, в котором была выполнена команда.Source reports the target where the command was executed. После выполнения команды можно также представить более широкое значение Source в терминах перенаправленных событий в качестве объекта, вызвавшего перенаправленное событие.Once the command is executed, you can also think of the Source more generally in routed event terms, as the object that raised a routed event.

  • Commandсообщает о выполненной команде.Command reports the command that executed. Это свойство полезно при использовании привязок команд и при написании обработчиков, которые потенциально обрабатывали несколько команд.This property is useful if you use command bindings and if you write handlers that potentially handle multiple commands.

  • Parameterсообщает о параметрах, относящихся к команде, которые были переданы выполненной командой.Parameter reports any command-specific parameters that were passed by the executing command. Не все команды используют или предполагают параметры, относящиеся к команде.Not all commands use or expect command-specific parameters.

  • Handledсообщает, было ли перенаправленное событие, полученное от выполненной команды, уже обработано другим элементом маршрута.Handled reports whether the routed event that resulted from the executed command was already handled by a different element along the route. Для обработчиков перенаправленных событий рекомендуется использовать обработчики, которые выполняют осмысленную работу при обработке события для установки значения Handled. trueFor routed event handlers, it is a recommended practice to have handlers that do meaningful work when handling the event to set Handled to true. Это предотвращает дальнейшую обработку события на маршруте обычными обработчиками события.This prevents typical handlers for the event from handling the event again further along the route. Дополнительные сведения об обработке перенаправленных событий см. в разделе Маркировка перенаправленных событий как обработанных и обработка классов.For more information on handling routed events, see Marking Routed Events as Handled, and Class Handling.

Этот делегат также представляет обработчики CommandManager.Executed для CommandManager.PreviewExecutedEventи, которые CommandManager являются присоединенными событиями в классе, который реализует большую часть инфраструктуры команд.This delegate also represents handlers for CommandManager.Executed and CommandManager.PreviewExecutedEvent, which are attached events on the CommandManager class that implements much of the commanding infrastructure. Но большинство практических обработчиков будут Executed обработаны события CommandBindingиз определенного, а не для CommandManager работы на уровне.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

Дополнительные сведения о системе команд см. в разделе Общие сведения о системе команд.For more information on commanding, see Commanding Overview.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.Gets an object that represents the method represented by the specified delegate.

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

Дополнительно