Auf Englisch lesen

Teilen über


RoutedPropertyChangedEventHandler<T> Delegat

Definition

Stellt Methoden dar, die verschiedene weitergeleitete Ereignisse behandeln, die geänderte Eigenschaftswerte verfolgen.

C#
public delegate void RoutedPropertyChangedEventHandler<T>(object sender, RoutedPropertyChangedEventArgs<T> e);

Typparameter

T

Der Typ des Eigenschaftswerts, für den geänderte Werte gemeldet werden.

Parameter

sender
Object

Das Objekt, an das der Ereignishandler angefügt ist.

e
RoutedPropertyChangedEventArgs<T>

Die Ereignisdaten. Bestimmte Ereignisdefinitionen schränken RoutedPropertyChangedEventArgs<T> auf einen Typ ein, wobei der Typparameter der Einschränkung mit der Typparametereinschränkung einer Delegatimplementierung übereinstimmen.

Beispiele

Im folgenden Beispiel wird eine Handlermethode für das ValueChanged Ereignis definiert und angefügt.

Der Handler basiert auf RoutedPropertyChangedEventHandler<T>und wird im zweiten Segment des Codebeispiels definiert, wobei der Typparameter des generischen auf Doublebeschränkt ist.

C#
Slider childrenCountSlider = (Slider)LogicalTreeHelper.FindLogicalNode(myWindow, "ChildrenCountSlider");
childrenCountSlider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(OnChildrenCountChanged);
C#
private void OnChildrenCountChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    int childrenCount = (int)Math.Floor(e.NewValue + 0.5);

    //  Update the children count...
    AutoIndexingGrid g = (AutoIndexingGrid)LogicalTreeHelper.FindLogicalNode(myWindow, "TargetGrid");
    while (g.Children.Count < childrenCount)
    {
        Control c = new Control();
        g.Children.Add(c);
        c.Style = (Style)c.FindResource("ImageWithBorder");
    }
    while (g.Children.Count > childrenCount)
    {
        g.Children.Remove(g.Children[g.Children.Count - 1]);
    }


    //  Update TextBlock element displaying the count...
    TextBlock t = (TextBlock)LogicalTreeHelper.FindLogicalNode(myWindow, "ChildrenCountDisplay");
    t.Text = childrenCount.ToString();
}

In diesem speziellen Beispiel wird das Routingereignismerkmal des Ereignisses nicht verwendet. das Ereignis wird für dasselbe Element behandelt, für das es ausgelöst wird. Dies ist jedoch nicht immer der Fall. Bei einem Routingereignis ist es möglich, dass die Quelle des Ereignisses ein anderes Objekt als das Objekt ist, in dem der Handler angefügt ist.

Hinweise

Beispiele für Ereignisse, die typbeschränkte Delegaten basierend auf RoutedPropertyChangedEventHandler<T> include TreeView.SelectedItemChanged und RangeBase.ValueChangedverwenden.

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.

Gilt für:

Produkt Versionen
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Weitere Informationen