Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Estructura DependencyPropertyChangedEventArgs

 

Publicado: noviembre de 2016

Proporciona datos de los distintos eventos de cambio de propiedades. Normalmente, estos eventos notifican cambios de valor efectivos en el valor de una propiedad de dependencia de solo lectura. Otro uso es como parte de una implementación de PropertyChangedCallback.

Espacio de nombres:   System.Windows
Ensamblado:  WindowsBase (en WindowsBase.dll)

public struct DependencyPropertyChangedEventArgs

NombreDescripción
System_CAPS_pubmethodDependencyPropertyChangedEventArgs(DependencyProperty, Object, Object)

Inicializa una nueva instancia de la clase DependencyPropertyChangedEventArgs.

NombreDescripción
System_CAPS_pubpropertyNewValue

Obtiene el valor de la propiedad después del cambio.

System_CAPS_pubpropertyOldValue

Obtiene el valor de la propiedad antes del cambio.

System_CAPS_pubpropertyProperty

Obtiene el identificador de la propiedad de dependencia donde se produjo el cambio del valor.

NombreDescripción
System_CAPS_pubmethodEquals(DependencyPropertyChangedEventArgs)

Determina si la DependencyPropertyChangedEventArgs es equivalente a la actual DependencyPropertyChangedEventArgs.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto proporcionado es equivalente a la actual DependencyPropertyChangedEventArgs.(Invalida ValueType.Equals(Object)).

System_CAPS_pubmethodGetHashCode()

Obtiene un código hash de este DependencyPropertyChangedEventArgs.(Invalida ValueType.GetHashCode()).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodToString()

Devuelve el nombre de tipo completo de esta instancia.(Heredado de ValueType).

NombreDescripción
System_CAPS_puboperatorSystem_CAPS_staticEquality(DependencyPropertyChangedEventArgs, DependencyPropertyChangedEventArgs)

Determina si dos objetos DependencyPropertyChangedEventArgs especificados tienen el mismo valor.

System_CAPS_puboperatorSystem_CAPS_staticInequality(DependencyPropertyChangedEventArgs, DependencyPropertyChangedEventArgs)

Determina si dos especificadas DependencyPropertyChangedEventArgs objetos son diferentes.

The events that use the T:System.Windows.DependencyPropertyChangedEventArgs class for event data, and the T:System.Windows.DependencyPropertyChangedEventHandler method implementations for handlers, generally follow the naming pattern Is*Changed, and are generally implemented as TLA#tla_clr events without T:System.Windows.RoutedEvent backing (they are not routed events). Some class handling methods that "handle" otherwise unexposed events that report a state change through a property change, such as M:System.Windows.Controls.Primitives.ButtonBase.OnIsPressedChanged(System.Windows.DependencyPropertyChangedEventArgs), also use the T:System.Windows.DependencyPropertyChangedEventArgs class for event data.

The scenario for T:System.Windows.PropertyChangedCallback is to use the arguments to report old and new values that come from the property system evaluation of the property. A callback that processes old and new values might choose special handling depending on these values, such as choosing to not respond to value changes that are deemed insignificant.

The following example uses the T:System.Windows.DependencyPropertyChangedEventArgs class in the context of a T:System.Windows.PropertyChangedCallback for a particular property of a custom class that also defines events. The callback takes the results of old and new values from the property system as communicated by T:System.Windows.DependencyPropertyChangedEventArgs, and repackages these into a different events arguments class T:System.Windows.RoutedPropertyChangedEventArgs`1. The new arguments are then used as the data for a "ValueChanged" event defined by and raised by the custom class.

public static readonly DependencyProperty ValueProperty =
    DependencyProperty.Register(
        "Value", typeof(decimal), typeof(NumericUpDown),
        new FrameworkPropertyMetadata(MinValue, new PropertyChangedCallback(OnValueChanged),
                                      new CoerceValueCallback(CoerceValue)));

private static object CoerceValue(DependencyObject element, object value)
{
    decimal newValue = (decimal)value;

    newValue = Math.Max(MinValue, Math.Min(MaxValue, newValue));

    return newValue;
}

private static void OnValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
    NumericUpDown control = (NumericUpDown)obj;

    RoutedPropertyChangedEventArgs<decimal> e = new RoutedPropertyChangedEventArgs<decimal>(
        (decimal)args.OldValue, (decimal)args.NewValue, ValueChangedEvent);
    control.OnValueChanged(e);
}
/// <summary>
/// Identifies the ValueChanged routed event.
/// </summary>
public static readonly RoutedEvent ValueChangedEvent = EventManager.RegisterRoutedEvent(
    "ValueChanged", RoutingStrategy.Bubble,
    typeof(RoutedPropertyChangedEventHandler<decimal>), typeof(NumericUpDown));

/// <summary>
/// Occurs when the Value property changes.
/// </summary>
public event RoutedPropertyChangedEventHandler<decimal> ValueChanged
{
    add { AddHandler(ValueChangedEvent, value); }
    remove { RemoveHandler(ValueChangedEvent, value); }
}
/// <summary>
/// Raises the ValueChanged event.
/// </summary>
/// <param name="args">Arguments associated with the ValueChanged event.</param>
protected virtual void OnValueChanged(RoutedPropertyChangedEventArgs<decimal> args)
{
    RaiseEvent(args);
}

.NET Framework
Disponible desde 3.0
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: