ExecutedRoutedEventHandler Delegat

Definicja

Reprezentuje metodę, która będzie obsługiwać Executed PreviewExecuted zdarzenia kierowane i, a także powiązane zdarzenia dołączone.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)

Parametry

sender
Object

Obiekt, do którego jest dołączona procedura obsługi zdarzeń.The object where the event handler is attached.

e
ExecutedRoutedEventArgs

Dane dotyczące zdarzenia.The event data.

Przykłady

Ten przykład tworzy obiekt ExecutedRoutedEventHandler , który ustawia właściwość wizualną w miejscu docelowym, gdy polecenie jest wykonywane.This example creates an ExecutedRoutedEventHandler that sets a visual property on the target when the command is executed. Przykład zawiera również dla tego CanExecuteRoutedEventHandler samego polecenia.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

Uwagi

Ten delegat zawiera logikę implementacji dla elementu RoutedCommand .This delegate contains the implementation logic for a RoutedCommand. Oddzielenie logiki implementacji z polecenia umożliwia wywoływanie polecenia z różnych źródeł i typów oraz umożliwia scentralizowanie logiki poleceń.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.

Ten delegat jest również używany dla CommandManager.Executed i CommandManager.PreviewExecuted , które są dołączone zdarzenia w CommandManager klasie, która implementuje większość infrastruktury poleceń.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. Jednak większość praktycznych programów obsługi będzie obsługiwać Executed zdarzenia z określonego CommandBinding , a nie na CommandManager poziomie.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

W programie ExecutedRoutedEventArgs następujące właściwości są zazwyczaj przydatne podczas pisania obsługi zdarzeń dla zdarzenia kierowanego, które wynikają z wykonanego polecenia: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:

  • Sourceraportuje element docelowy, w którym wykonano polecenie.Source reports the target where the command was executed. Po wykonaniu polecenia można także określić Source bardziej ogólnie w przypadku rozesłanych terminów zdarzeń jako obiekt, który spowodował zdarzenie kierowane.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.

  • Commandraportuje wykonywane polecenie.Command reports the command that executed. Ta właściwość jest przydatna, jeśli używasz powiązań poleceń i w przypadku pisania programów obsługi, które potencjalnie obsługują wiele poleceń.This property is useful if you use command bindings and if you write handlers that potentially handle multiple commands.

  • Parameterraportuje wszystkie parametry specyficzne dla polecenia, które zostały przesłane przez wykonywanie polecenia.Parameter reports any command-specific parameters that were passed by the executing command. Nie wszystkie polecenia używają lub oczekują parametrów specyficznych dla polecenia.Not all commands use or expect command-specific parameters.

  • Handledinformuje, czy zdarzenie trasowane, które spowodowało wykonanie wykonanego polecenia, zostało już obsłużone przez inny element wzdłuż trasy.Handled reports whether the routed event that resulted from the executed command was already handled by a different element along the route. W przypadku obsługi zdarzeń kierowanych jest zalecanym sposobem posiadania programów obsługi, które wykonują znaczącą użyteczność podczas obsługi zdarzenia, aby ustawić wartość Handled true .For routed event handlers, it is a recommended practice to have handlers that do meaningful work when handling the event to set Handled to true. Uniemożliwia to typowym programom obsługi zdarzenia ponowne obsługiwanie zdarzenia na trasie.This prevents typical handlers for the event from handling the event again further along the route. Aby uzyskać więcej informacji na temat obsługi zdarzeń kierowanych, zobacz oznaczanie zdarzeń kierowanych jako obsłużone i obsługa klas.For more information on handling routed events, see Marking Routed Events as Handled, and Class Handling.

Ten delegat reprezentuje również programy obsługi dla CommandManager.Executed i CommandManager.PreviewExecutedEvent , które są dołączone zdarzenia w CommandManager klasie, która implementuje większość infrastruktury poleceń.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. Jednak większość praktycznych programów obsługi będzie obsługiwać Executed zdarzenia z określonego CommandBinding , a nie na CommandManager poziomie.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

Aby uzyskać więcej informacji na temat poleceń, zobacz Omówienie poleceń.For more information on commanding, see Commanding Overview.

Metody rozszerzania

GetMethodInfo(Delegate)

Pobiera obiekt, który reprezentuje metodę reprezentowaną przez określony delegat.Gets an object that represents the method represented by the specified delegate.

Dotyczy

Zobacz też