ExecutedRoutedEventHandler Delegat

Definicja

Reprezentuje metodę, która będzie obsługiwać ExecutedPreviewExecuted zdarzenia i kierowane, a także powiązane dołączone zdarzenia.

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, w którym jest dołączony program obsługi zdarzeń.

e
ExecutedRoutedEventArgs

Dane dotyczące zdarzenia.

Przykłady

W tym przykładzie tworzony jest obiekt ExecutedRoutedEventHandler , który ustawia właściwość wizualizacji na obiekcie docelowym po wykonaniu polecenia. Przykład zawiera również element CanExecuteRoutedEventHandler dla tego samego polecenia.

// 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. Oddzielenie logiki implementacji od polecenia umożliwia wywoływanie polecenia z różnych źródeł i typów oraz umożliwia centralizację logiki poleceń.

Ten delegat jest również używany dla CommandManager.Executed elementów i CommandManager.PreviewExecuted, które są dołączone zdarzenia w CommandManager klasie, która implementuje większość infrastruktury poleceń. Jednak większość praktycznych procedur obsługi będzie obsługiwać Executed zdarzenia z określonego CommandBindingelementu , a nie pracować na CommandManager poziomie.

W programie ExecutedRoutedEventArgsnastępujące właściwości są zwykle interesujące podczas pisania procedury obsługi zdarzeń dla zdarzenia kierowanego, które wynika z wykonanego polecenia:

  • Source raportuje miejsce docelowe, w którym wykonano polecenie. Po wykonaniu polecenia można również myśleć o Source bardziej ogólnie kierowanych terminach zdarzeń, ponieważ obiekt, który wywołał zdarzenie kierowane.

  • Command polecenie, które zostało wykonane. Ta właściwość jest przydatna, jeśli używasz powiązań poleceń i jeśli piszesz programy obsługi, które potencjalnie obsługują wiele poleceń.

  • Parameter raportuje wszystkie parametry specyficzne dla polecenia, które zostały przekazane przez wykonanie polecenia. Nie wszystkie polecenia używają lub oczekują parametrów specyficznych dla polecenia.

  • Handled raportuje, czy zdarzenie kierowane, które wynikało z wykonanego polecenia, zostało już obsłużone przez inny element wzdłuż trasy. W przypadku procedur obsługi zdarzeń kierowanych zaleca się stosowanie procedur obsługi, które wykonują znaczącą pracę podczas obsługi zdarzenia w celu ustawienia wartości Handledtrue. Zapobiega to ponownemu obsługiwaniu zdarzenia przez typowe programy obsługi zdarzenia wzdłuż trasy. Aby uzyskać więcej informacji na temat obsługi zdarzeń trasowanych, zobacz Oznaczanie zdarzeń trasowanych jako obsługiwane i Obsługa klas.

Ten delegat reprezentuje również programy obsługi dla CommandManager.Executed elementów i CommandManager.PreviewExecutedEvent, które są dołączone zdarzenia w CommandManager klasie, która implementuje większość infrastruktury poleceń. Jednak większość praktycznych procedur obsługi będzie obsługiwać Executed zdarzenia z określonego CommandBindingelementu , a nie pracować na CommandManager poziomie.

Aby uzyskać więcej informacji na temat poleceń, zobacz Omówienie poleceń.

Metody rozszerzania

GetMethodInfo(Delegate)

Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata.

Dotyczy

Zobacz też