RoutedPropertyChangedEventHandler<T> 대리자

정의

속성 값 변경 내용을 추적하는 다양한 라우트된 이벤트를 처리할 메서드를 나타냅니다.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

이벤트 처리기가 연결된 개체입니다.The object where the event handler is attached.

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

예제

다음 예제에서는 정의 하 고 연결에 대 한 처리기 메서드는 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.SelectedItemChangedRangeBase.ValueChanged입니다.Examples of events that use type-constrained delegates based on RoutedPropertyChangedEventHandler<T> include TreeView.SelectedItemChanged and RangeBase.ValueChanged.

확장 메서드

GetMethodInfo(Delegate)

지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다.Gets an object that represents the method represented by the specified delegate.

적용 대상

추가 정보