RoutedPropertyChangedEventHandler<T> Delegat

Definition

Stellt Methoden dar, die verschiedene Routingereignisse behandeln, die Eigenschaftswertänderungen nachverfolgen.

generic <typename T>
public delegate void RoutedPropertyChangedEventHandler(System::Object ^ sender, RoutedPropertyChangedEventArgs<T> ^ e);
public delegate void RoutedPropertyChangedEventHandler<T>(object sender, RoutedPropertyChangedEventArgs<T> e);
type RoutedPropertyChangedEventHandler<'T> = delegate of obj * RoutedPropertyChangedEventArgs<'T> -> unit
Public Delegate Sub RoutedPropertyChangedEventHandler(Of T)(sender As Object, e As RoutedPropertyChangedEventArgs(Of T))

Typparameter

T

Der Typ des Eigenschaftswerts, in dem Änderungen am Wert gemeldet werden.

Parameter

sender
Object

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

e
RoutedPropertyChangedEventArgs<T>

Die Ereignisdaten. Bestimmte Ereignisdefinitionen beschränken sich RoutedPropertyChangedEventArgs<T> auf einen Typ, wobei der Typparameter der Einschränkung mit der Typparametereinschränkung einer Delegatenimplementierung ü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 Einschränkungsparameters auf Double.

Slider childrenCountSlider = (Slider)LogicalTreeHelper.FindLogicalNode(myWindow, "ChildrenCountSlider");
childrenCountSlider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(OnChildrenCountChanged);
Dim childrenCountSlider As Slider = CType(LogicalTreeHelper.FindLogicalNode(myWindow, "ChildrenCountSlider"), Slider)
AddHandler childrenCountSlider.ValueChanged, AddressOf OnChildrenCountChanged
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();
}
Private Sub OnChildrenCountChanged(ByVal sender As Object, ByVal e As RoutedPropertyChangedEventArgs(Of Double))
    Dim childrenCount As Integer = CInt(Fix(Math.Floor(e.NewValue + 0.5)))

    '  Update the children count...
    Dim g As AutoIndexingGrid = CType(LogicalTreeHelper.FindLogicalNode(myWindow, "TargetGrid"), AutoIndexingGrid)
    Do While g.Children.Count < childrenCount
        Dim c As New Control()
        g.Children.Add(c)
        c.Style = CType(c.FindResource("ImageWithBorder"), Style)
    Loop
    Do While g.Children.Count > childrenCount
        g.Children.Remove(g.Children(g.Children.Count - 1))
    Loop


    '  Update TextBlock element displaying the count...
    Dim t As TextBlock = CType(LogicalTreeHelper.FindLogicalNode(myWindow, "ChildrenCountDisplay"), TextBlock)
    t.Text = childrenCount.ToString()
End Sub

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

Hinweise

Beispiele für Ereignisse, die typeneinschränkte Stellvertretungen basierend auf RoutedPropertyChangedEventHandler<T> einschließen TreeView.SelectedItemChanged und RangeBase.ValueChangedverwenden.

Erweiterungsmethoden

Name Beschreibung
GetMethodInfo(Delegate)

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

Gilt für:

Weitere Informationen