ExecutedRoutedEventHandler Temsilci

Tanım

ve yönlendirilmiş olayları ve PreviewExecuted ilişkili ekli olayları işleyecek Executed yöntemi temsil eder.

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)

Parametreler

sender
Object

Olay işleyicisinin eklendiği nesne.

e
ExecutedRoutedEventArgs

Olay verileri.

Örnekler

Bu örnek, komut yürütülürken hedefte bir görsel özellik ayarlayan bir ExecutedRoutedEventHandler oluşturur. Örnek, aynı komutun için öğesini CanExecuteRoutedEventHandler de içerir.

// 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

Açıklamalar

Bu temsilci, bir RoutedCommandiçin uygulama mantığını içerir. Uygulama mantığını komutundan ayırmak, komutun farklı kaynaklardan ve türlerden çağrılmasını sağlar ve komut mantığının merkezileştirilmesini sağlar.

Bu temsilci, komut altyapısının büyük bir kısmını uygulayan sınıfında ekli olaylar CommandManager olan ve CommandManager.PreviewExecutediçin CommandManager.Executed de kullanılır. Ancak çoğu pratik işleyici, düzeyinde çalışmak CommandManager yerine belirli CommandBindingbir öğesinden gelen olayları işlerExecuted.

içinde ExecutedRoutedEventArgs, yürütülen bir komuttan kaynaklanan yönlendirilmiş bir olay için bir olay işleyicisi yazdığınızda genellikle aşağıdaki özellikler ilgi çekicidir:

  • Source komutun yürütüldüğü hedefi bildirir. Komut yürütüldükten sonra, yönlendirilmiş olay terimlerinde daha genel olarak, yönlendirilmiş olayı tetikleyen nesne olarak da düşünebilirsiniz Source .

  • Command yürütülen komutu bildirir. Bu özellik, komut bağlamaları kullanıyorsanız ve birden çok komutu işleyebilen işleyiciler yazıyorsanız kullanışlıdır.

  • Parameter , yürütülen komut tarafından geçirilen komuta özgü parametreleri bildirir. Tüm komutlar komuta özgü parametreleri kullanmaz veya beklemez.

  • Handled , yürütülen komuttan kaynaklanan yönlendirilen olayın yol boyunca farklı bir öğe tarafından işlenip işlenmediğini bildirir. Yönlendirilen olay işleyicileri için, olarak ayarlanan Handledtrueolayı işlerken anlamlı işler yapacak işleyicilere sahip olmak önerilen bir uygulamadır. Bu, olay için tipik işleyicilerin yolu boyunca olayı yeniden işlemesini engeller. Yönlendirilen olayları işleme hakkında daha fazla bilgi için bkz. Yönlendirilen Olayları İşlenmiş Olarak İşaretleme ve Sınıf İşleme.

Bu temsilci, komut altyapısının büyük bir kısmını uygulayan sınıfında ekli olaylar CommandManager olan ve CommandManager.PreviewExecutedEventiçin işleyicileri CommandManager.Executed de temsil eder. Ancak çoğu pratik işleyici, düzeyinde çalışmak CommandManager yerine belirli CommandBindingbir öğesinden gelen olayları işlerExecuted.

Komut oluşturma hakkında daha fazla bilgi için bkz. Komuta Genel Bakış.

Uzantı Metotları

Name Description
GetMethodInfo(Delegate)

Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır.

Şunlara uygulanır

Ayrıca bkz.