Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

RoutedPropertyChangedEventHandler<T> Delegate

Definition

Namespace:
System.Windows
Assembly:
PresentationFramework.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

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

Type Parameters

T

The type of the property value where changes in value are reported.

Parameters

sender
Object

The object where the event handler is attached.

e
RoutedPropertyChangedEventArgs<T>

The event data. 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.

Examples

The following example defines and attaches a handler method for the ValueChanged event.

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

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. This is not always the case. 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.

Remarks

Examples of events that use type-constrained delegates based on RoutedPropertyChangedEventHandler<T> include TreeView.SelectedItemChanged and RangeBase.ValueChanged.

Extension Methods

Name Description
GetMethodInfo(Delegate)

Gets an object that represents the method represented by the specified delegate.

Applies to

See also


Feedback

Was this page helpful?