Aracılığıyla paylaş


ExecutedRoutedEventHandler Temsilci

Tanım

ve PreviewExecuted yönlendirilen olayların yanı sıra 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ürken hedefte bir görsel özellik ayarlayan bir ExecutedRoutedEventHandler oluşturur. Örnekte aynı komutun için de CanExecuteRoutedEventHandler bulunur.

// 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ına CommandManager eklenmiş olaylar 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şleyebilecek işleyiciler yazıyorsanız yararlı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önlendirilmiş olayın yol boyunca farklı bir öğe tarafından işlenip işlenmediğini bildirir. Yönlendirilen olay işleyicileri için, olarak ayarlanacağı Handled olayı işlerken anlamlı işler yapacak işleyicilere sahip olmak trueö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 ayrıca, komut altyapısının büyük bir kısmını uygulayan sınıfına CommandManager eklenmiş olaylar olan ve CommandManager.PreviewExecutedEventişleyicilerini CommandManager.Executed temsil eder. Ancak çoğu pratik işleyici, düzeyinde çalışmak CommandManager yerine belirli CommandBindingbir öğesinden gelen olayları işlerExecuted.

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

Uzantı Metotları

GetMethodInfo(Delegate)

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

Şunlara uygulanır

Ayrıca bkz.