RoutedPropertyChangedEventHandler<T> Delegált

Definíció

Olyan metódusokat jelöl, amelyek a tulajdonságértékek változásait nyomon követő különböző irányított eseményeket kezelik.

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ípusparaméterek

T

Annak a tulajdonságértéknek a típusa, amelyben az értékváltozásokat jelentik.

Paraméterek

sender
Object

Az az objektum, amelyhez az eseménykezelő csatlakoztatva van.

e
RoutedPropertyChangedEventArgs<T>

Az esemény adatai. Az egyes eseménydefiníciók egy típushoz lesznek korlátozva RoutedPropertyChangedEventArgs<T> , és a kényszer típusparamétere megfelel a delegált implementáció típusparaméter-kényszerének.

Példák

Az alábbi példa egy kezelőmetódust határoz meg és csatol az ValueChanged eseményhez.

A kezelő a RoutedPropertyChangedEventHandler<T>kód példa második szegmensében van definiálva, és az általános paraméter típusparaméterével van korlátozva 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

Ez a konkrét példa nem használja az esemény irányított esemény jellemzőjét; az esemény kezelése ugyanazon az elemen történik, amelyen az esemény fel van emelve. Ez nem mindig így van. Irányított esemény esetén lehetséges, hogy az esemény forrása egy másik objektum, mint az az objektum, amelyhez a kezelő csatlakoztatva van.

Megjegyzések

Példák olyan eseményekre, amelyek típuskorlátozott meghatalmazottakat használnak a belefoglalás RoutedPropertyChangedEventHandler<T> és TreeView.SelectedItemChangeda RangeBase.ValueChanged .

Bővítő metódusok

Name Description
GetMethodInfo(Delegate)

Lekéri a megadott meghatalmazott által képviselt metódust képviselő objektumot.

A következőre érvényes:

Lásd még