ExecutedRoutedEventHandler Delegera
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar den metod som ska hantera Executed och PreviewExecuted dirigerade händelser samt relaterade kopplade händelser.
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)
Parametrar
- sender
- Object
Objektet där händelsehanteraren är kopplad.
Händelsedata.
Exempel
Det här exemplet skapar en ExecutedRoutedEventHandler som anger en visuell egenskap på målet när kommandot körs. Exemplet innehåller CanExecuteRoutedEventHandler även för samma kommando.
// 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
Kommentarer
Det här ombudet innehåller implementeringslogik för en RoutedCommand. Genom att separera implementeringslogiken från kommandot kan kommandot anropas från olika källor och typer och möjliggör centralisering av kommandologik.
Det här ombudet används också för CommandManager.Executed och CommandManager.PreviewExecuted, som är anslutna händelser i CommandManager klassen som implementerar mycket av kommandoinfrastrukturen. Men de flesta praktiska hanterare hanterar Executed händelserna från en viss CommandBinding, i stället för att arbeta på nivån CommandManager .
I ExecutedRoutedEventArgsär följande egenskaper vanligtvis av intresse när du skriver en händelsehanterare för en dirigerad händelse som är resultatet av ett kört kommando:
Source rapporterar målet där kommandot kördes. När kommandot har körts kan du också tänka på det Source mer allmänt i routade händelsetermer, som det objekt som utlöste en dirigerad händelse.
Command rapporterar kommandot som kördes. Den här egenskapen är användbar om du använder kommandobindningar och om du skriver hanterare som potentiellt hanterar flera kommandon.
Parameter rapporterar alla kommandospecifika parametrar som skickades av körningskommandot. Alla kommandon använder eller förväntar sig inte kommandospecifika parametrar.
Handled rapporterar om den dirigerade händelsen som orsakades av det körda kommandot redan hanterades av ett annat element längs vägen. För routade händelsehanterare är det en rekommenderad metod att ha hanterare som utför meningsfullt arbete vid hantering av händelsen som ska anges Handled till
true. Detta förhindrar att typiska hanterare för händelsen hanterar händelsen igen längs vägen. Mer information om hur du hanterar routade händelser finns i Markera routade händelser som hanterade och klasshantering.
Det här ombudet representerar också hanterare för CommandManager.Executed och CommandManager.PreviewExecutedEvent, som är kopplade händelser i CommandManager klassen som implementerar mycket av kommandoinfrastrukturen. Men de flesta praktiska hanterare hanterar Executed händelserna från en viss CommandBinding, i stället för att arbeta på nivån CommandManager .
Mer information om kommandon finns i Kommandoöversikt.
Tilläggsmetoder
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Hämtar ett objekt som representerar den metod som representeras av det angivna ombudet. |