RoutedPropertyChangedEventHandler<T> RoutedPropertyChangedEventHandler<T> RoutedPropertyChangedEventHandler<T> RoutedPropertyChangedEventHandler<T> Delegate

Definition

Stellt Methoden dar, die verschiedene weitergeleitete Ereignisse behandeln, die geänderte Eigenschaftswerte verfolgen.Represents methods that will handle various routed events that track property value changes.

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, für den geänderte Werte gemeldet werden.The type of the property value where changes in value are reported.

Parameter

sender
Object Object Object Object

Das Objekt, an das der Ereignishandler angefügt ist.The object where the event handler is attached.

e
RoutedPropertyChangedEventArgs<T> RoutedPropertyChangedEventArgs<T> RoutedPropertyChangedEventArgs<T> RoutedPropertyChangedEventArgs<T>

Die Ereignisdaten.The event data. Bestimmte Ereignisdefinitionen schränken RoutedPropertyChangedEventArgs<T> auf einen Typ ein, wobei der Typparameter der Einschränkung mit der Typparametereinschränkung einer Delegatimplementierung übereinstimmen.Specific event definitions will constrain RoutedPropertyChangedEventArgs<T> to a type, with the type parameter of the constraint matching the type parameter constraint of a delegate implementation.

Vererbung
RoutedPropertyChangedEventHandler<T>RoutedPropertyChangedEventHandler<T>RoutedPropertyChangedEventHandler<T>RoutedPropertyChangedEventHandler<T>

Beispiele

Das folgende Beispiel definiert und fügt eine Handlermethode, die für die ValueChanged Ereignis.The following example defines and attaches a handler method for the ValueChanged event.

Der Handler basiert auf RoutedPropertyChangedEventHandler<T>, und klicken Sie in das zweite Segment des Codebeispiels, mit dem Typparameter der generischen beschränkt auf Double.The handler is based on RoutedPropertyChangedEventHandler<T>, and is defined in the second segment of the code example, with the type parameter of the generic constrained to 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

Dieses Beispiel wird der Routingeigenschaft des Ereignisses nicht verwendet. auf dem selben Element, das es ausgelöst wurde, wird das Ereignis behandelt.This particular example does not use the routed-event characteristic of the event; the event is handled on the same element that it is raised on. Dies ist nicht immer der Fall.This is not always the case. Für ein Routingereignis ist es möglich, dass die Quelle des Ereignisses ein anderes Objekt als das Objekt ist, in dem der Handler angefügt ist.For a routed event, it is possible that the source of the event is a different object than the object where the handler is attached.

Hinweise

Beispiele für Ereignisse, die Delegate eingeschränkte verwenden basierend auf RoutedPropertyChangedEventHandler<T> enthalten TreeView.SelectedItemChanged und RangeBase.ValueChanged.Examples of events that use type-constrained delegates based on RoutedPropertyChangedEventHandler<T> include TreeView.SelectedItemChanged and RangeBase.ValueChanged.

Extension Methods

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

Ruft ein Objekt, das die durch den angegebenen Delegaten dargestellte Methode darstellt.Gets an object that represents the method represented by the specified delegate.

Gilt für:

Siehe auch