RoutedPropertyChangedEventHandler<T> Delegat
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Methoden dar, die verschiedene Routingereignisse behandeln, die Eigenschaftswertänderungen nachverfolgen.
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, in dem Änderungen am Wert gemeldet werden.
Parameter
- sender
- Object
Das Objekt, an das der Ereignishandler angefügt ist.
Die Ereignisdaten. Bestimmte Ereignisdefinitionen beschränken sich RoutedPropertyChangedEventArgs<T> auf einen Typ, wobei der Typparameter der Einschränkung mit der Typparametereinschränkung einer Delegatenimplementierung übereinstimmen.
Beispiele
Im folgenden Beispiel wird eine Handlermethode für das ValueChanged Ereignis definiert und angefügt.
Der Handler basiert auf RoutedPropertyChangedEventHandler<T>und wird im zweiten Segment des Codebeispiels definiert, wobei der Typparameter des generischen Einschränkungsparameters auf 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
In diesem beispiel wird die Routingereigniseigenschaft des Ereignisses nicht verwendet. das Ereignis wird für dasselbe Element behandelt, für das es ausgelöst wird. Dies ist nicht immer der Fall. Bei einem Routingereignis ist es möglich, dass die Quelle des Ereignisses ein anderes Objekt als das Objekt ist, an das der Handler angefügt ist.
Hinweise
Beispiele für Ereignisse, die typeneinschränkte Stellvertretungen basierend auf RoutedPropertyChangedEventHandler<T> einschließen TreeView.SelectedItemChanged und RangeBase.ValueChangedverwenden.
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetMethodInfo(Delegate) |
Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt. |