Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo DependencyObject.InvalidateProperty

Rivaluta il valore effettivo per la proprietà di dipendenza

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

public void InvalidateProperty(
	DependencyProperty dp
)

Parametri

dp
Tipo: System.Windows.DependencyProperty
DependencyProperty identificatore della proprietà da invalidare.

Quando si chiama InvalidateProperty, eventuali associate e applicabile CoerceValueCallback o PropertyChangedCallback le funzioni registrate per quella proprietà di dipendenza possono essere richiamate.

chiamare InvalidateProperty in una proprietà che dispone del relativo set di valori locale non avrà alcun effetto, poiché il valore locale ha la precedenza su altri input del sistema di proprietà, fatta eccezione per le animazioni. Tuttavia, è possibile chiamare ClearValue, quindi chiamare InvalidateProperty. Per ulteriori informazioni, vedere Precedenza del valore della proprietà di dipendenza.

chiamare InvalidateProperty non è sempre disponibile per molti scenari di proprietà di dipendenza. Se una proprietà di dipendenza viene invalidata a causa di modifiche del valore in uno dei costitutivi, il sistema di proprietà invalida e rivaluta la proprietà di dipendenza automaticamente. Tuttavia, esistono tuttavia alcuni scenari appropriati in cui InvalidateProperty è utile. In particolare, è possibile utilizzare InvalidateProperty in assegnare il valore o la cui proprietà è stata modificata il callback per una proprietà di dipendenza diverso. È inoltre possibile utilizzare InvalidateProperty per forzare rivalutazione di un'associazione in un'origine dati che non può implementare consigliato INotifyPropertyChanged meccanismo di notifica ad esempio se utilizzando le classi di dati che non può essere derivato, o in cui i dati sono un membro statico).

Nell'esempio seguente viene chiamato InvalidateProperty in una proprietà personalizzata, ogni qualvolta proprietà coinvolte nella modifica dei calcoli della proprietà invalidata. Si tratta di una tecnica alternativa alla chiamata CoerceValue metodo, poiché invalidando la proprietà viene chiamato un oggetto registrato CoerceValueCallback.


static AreaButton()
{
    WidthProperty.OverrideMetadata(typeof(AreaButton), new FrameworkPropertyMetadata(new PropertyChangedCallback(InvalidateAreaProperty)));
    HeightProperty.OverrideMetadata(typeof(AreaButton), new FrameworkPropertyMetadata(new PropertyChangedCallback(InvalidateAreaProperty)));
}
static void InvalidateAreaProperty(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
    d.InvalidateProperty(AreaProperty);
}


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft