Leer en inglés

Compartir vía


RoutedPropertyChangedEventHandler<T> Delegado

Definición

Representa métodos que controlarán diversos eventos enrutados que realizan el seguimiento de los cambios de valor de propiedad.

C#
public delegate void RoutedPropertyChangedEventHandler<T>(object sender, RoutedPropertyChangedEventArgs<T> e);

Parámetros de tipo

T

Tipo del valor de propiedad donde se notifican los cambios de valor.

Parámetros

sender
Object

Objeto en que está asociado el controlador de eventos.

e
RoutedPropertyChangedEventArgs<T>

Datos del evento. Las definiciones de eventos específicos restringirán RoutedPropertyChangedEventArgs<T> a un tipo, coincidiendo el parámetro de tipo de la restricción con la restricción de parámetro de tipo de una implementación de delegado.

Ejemplos

En el ejemplo siguiente se define y se adjunta un método de controlador para el ValueChanged evento.

El controlador se basa en RoutedPropertyChangedEventHandler<T>y se define en el segundo segmento del ejemplo de código, con el parámetro type del genérico restringido a Double.

C#
Slider childrenCountSlider = (Slider)LogicalTreeHelper.FindLogicalNode(myWindow, "ChildrenCountSlider");
childrenCountSlider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(OnChildrenCountChanged);
C#
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();
}

En este ejemplo concreto no se usa la característica routed-event del evento; el evento se controla en el mismo elemento en el que se genera. Pero no siempre es así. En el caso de un evento enrutado, es posible que el origen del evento sea un objeto diferente al objeto donde se adjunta el controlador.

Comentarios

Ejemplos de eventos que usan delegados con restricciones de tipos en RoutedPropertyChangedEventHandler<T> función de include TreeView.SelectedItemChanged y RangeBase.ValueChanged.

Métodos de extensión

GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también