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

Определение

Представляет методы, которые будут обрабатывать различные маршрутизируемые события, отслеживающие изменения значений свойств.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))

Параметры типа

T

Тип значения свойства, где фиксируются изменения значения.The type of the property value where changes in value are reported.

Параметры

sender
Object Object Object Object

Объект, к которому присоединен обработчик событий.The object where the event handler is attached.

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

Данные события.The event data. Определения конкретных событий ограничат RoutedPropertyChangedEventArgs<T> типом, с параметром типа ограничения, соответствующим параметру типа ограничения реализации делегата.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.

Наследование
RoutedPropertyChangedEventHandler<T>RoutedPropertyChangedEventHandler<T>RoutedPropertyChangedEventHandler<T>RoutedPropertyChangedEventHandler<T>

Примеры

В следующем примере определяется и присоединяет метод обработчика для ValueChanged событий.The following example defines and attaches a handler method for the ValueChanged event.

Обработчик, основан на RoutedPropertyChangedEventHandler<T>и определяется в второй сегмент в примере кода с параметром типа универсального ограничен 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

Данном конкретном примере не использует характеристика событие; событие обрабатывается в том же элементе, вызвавшая на.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.

Комментарии

Примеры событий, которые используют делегаты ограниченного типа на основе RoutedPropertyChangedEventHandler<T> включают TreeView.SelectedItemChanged и RangeBase.ValueChanged.Examples of events that use type-constrained delegates based on RoutedPropertyChangedEventHandler<T> include TreeView.SelectedItemChanged and RangeBase.ValueChanged.

Методы расширения

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

Получает объект, представляющий метод, представленный указанным делегатом.Gets an object that represents the method represented by the specified delegate.

Применяется к

Дополнительно