Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Struttura DependencyPropertyChangedEventArgs

 

Data di pubblicazione: novembre 2016

Fornisce i dati per diversi eventi di modifica delle proprietà. Questi eventi segnalano in genere effettive modifiche del valore di una proprietà di dipendenza di sola lettura. Un altro utilizzo è come parte di un'implementazione PropertyChangedCallback.

Spazio dei nomi:   System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)

public struct DependencyPropertyChangedEventArgs

NomeDescrizione
System_CAPS_pubmethodDependencyPropertyChangedEventArgs(DependencyProperty, Object, Object)

Inizializza una nuova istanza della classe DependencyPropertyChangedEventArgs.

NomeDescrizione
System_CAPS_pubpropertyNewValue

Ottiene il valore della proprietà dopo la modifica.

System_CAPS_pubpropertyOldValue

Ottiene il valore della proprietà prima della modifica.

System_CAPS_pubpropertyProperty

Ottiene l'identificatore per la proprietà di dipendenza in cui si è verificato durante la modifica del valore.

NomeDescrizione
System_CAPS_pubmethodEquals(DependencyPropertyChangedEventArgs)

Determina se l'oggetto fornito DependencyPropertyChangedEventArgs è equivalente all'oggetto corrente DependencyPropertyChangedEventArgs.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è equivalente all'oggetto corrente DependencyPropertyChangedEventArgs.(Esegue l'override di ValueType.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Ottiene un codice hash per l'oggetto DependencyPropertyChangedEventArgs.(Esegue l'override di ValueType.GetHashCode().)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce il nome completo del tipo di questa istanza.(Ereditato da ValueType.)

NomeDescrizione
System_CAPS_puboperatorSystem_CAPS_staticEquality(DependencyPropertyChangedEventArgs, DependencyPropertyChangedEventArgs)

Determina se due oggetti DependencyPropertyChangedEventArgs specificati hanno lo stesso valore.

System_CAPS_puboperatorSystem_CAPS_staticInequality(DependencyPropertyChangedEventArgs, DependencyPropertyChangedEventArgs)

Determina se due specificate DependencyPropertyChangedEventArgs oggetti sono diversi.

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
Disponibile da 3.0
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: