ExecutedRoutedEventHandler Delegát

Definice

Představuje metodu, která zpracuje Executed PreviewExecuted směrované události a také související připojené události.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

Objekt, ke kterému je připojena obslužná rutina události.The object where the event handler is attached.

e
ExecutedRoutedEventArgs

Data událostiThe event data.

Příklady

Tento příklad vytvoří objekt ExecutedRoutedEventHandler , který nastaví vlastnost vizuálu v cíli při spuštění příkazu.This example creates an ExecutedRoutedEventHandler that sets a visual property on the target when the command is executed. Příklad obsahuje také CanExecuteRoutedEventHandler příkaz pro stejný příkaz.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

Poznámky

Tento delegát obsahuje logiku implementace pro RoutedCommand .This delegate contains the implementation logic for a RoutedCommand. Oddělení implementace logiky z příkazu umožňuje vyvolání příkazu z různých zdrojů a typů a umožňuje centralizovanou logiku příkazů.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.

Tento delegát se používá také pro CommandManager.Executed a CommandManager.PreviewExecuted , což jsou připojené události ke CommandManager třídě, která implementuje většinu příkazů infrastruktury.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. Ale většina praktických obslužných rutin bude zpracovávat Executed události z konkrétního CommandBinding , spíše než pracovat na CommandManager úrovni.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

V nástroji ExecutedRoutedEventArgs jsou tyto vlastnosti obecně důležité při psaní obslužné rutiny události pro směrovanou událost, která je výsledkem spouštěného příkazu: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:

  • Sourceoznamuje cíl, ve kterém byl příkaz proveden.Source reports the target where the command was executed. Až se příkaz spustí, můžete si také Source lépe představit ve směrovaných výrazech události jako objekt, který vyvolal směrovanou událost.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.

  • Commandoznamuje příkaz, který byl proveden.Command reports the command that executed. Tato vlastnost je užitečná, pokud používáte vazby příkazů a pokud píšete obslužné rutiny, které potenciálně zpracovávají více příkazů.This property is useful if you use command bindings and if you write handlers that potentially handle multiple commands.

  • Parameteroznamuje všechny parametry specifické pro příkaz, které byly předány spuštěným příkazem.Parameter reports any command-specific parameters that were passed by the executing command. Ne všechny příkazy používají nebo očekávají parametry specifické pro příkaz.Not all commands use or expect command-specific parameters.

  • Handledoznamuje, zda byla směrované událost, která byla výsledkem spouštěného příkazu, již zpracována jiným prvkem v rámci trasy.Handled reports whether the routed event that resulted from the executed command was already handled by a different element along the route. Pro směrované obslužné rutiny událostí je doporučený postup, který při zpracování události pro nastavení na nastaví obslužné rutiny, které mají smysluplnou práci 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. Tím se zabrání typickému obslužným rutinám pro událost, která bude znovu zpracovávat událost v rámci trasy.This prevents typical handlers for the event from handling the event again further along the route. Další informace o zpracování směrovaných událostí naleznete v tématu Označení směrovaných událostí jako zpracovaných a zpracování tříd.For more information on handling routed events, see Marking Routed Events as Handled, and Class Handling.

Tento delegát také představuje obslužné rutiny pro CommandManager.Executed a CommandManager.PreviewExecutedEvent , které jsou připojeny k událostem CommandManager třídy, která implementuje většinu příkazů infrastruktury.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. Ale většina praktických obslužných rutin bude zpracovávat Executed události z konkrétního CommandBinding , spíše než pracovat na CommandManager úrovni.But most practical handlers will handle the Executed events from a particular CommandBinding, rather than work at the CommandManager level.

Další informace o příkazech najdete v tématu Přehled příkazů.For more information on commanding, see Commanding Overview.

Metody rozšíření

GetMethodInfo(Delegate)

Získává objekt, který představuje metodu reprezentovanou zadaným delegátem.Gets an object that represents the method represented by the specified delegate.

Platí pro

Viz také