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

Metodo DependencyObject.InvalidateProperty (DependencyProperty)

 

Data di pubblicazione: ottobre 2016

Rivaluta il valore effettivo della proprietà di dipendenza specificata

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

Public Sub InvalidateProperty (
	dp As DependencyProperty
)

Parametri

dp
Type: System.Windows.DependencyProperty

Il DependencyProperty identificatore della proprietà da invalidare.

Quando si chiama InvalidateProperty, qualsiasi e associati applicabile CoerceValueCallback o PropertyChangedCallback funzioni registrate per la proprietà di dipendenza può essere richiamata.

La chiamata InvalidateProperty su una proprietà che è stato impostato il valore locale non avranno effetto, poiché il valore locale ha la precedenza su altri input di sistema di proprietà, ad eccezione delle animazioni. Tuttavia, è possibile chiamare ClearValue, quindi chiamare InvalidateProperty. Per ulteriori informazioni, vedere precedenza dei valori di proprietà di dipendenza.

La chiamata InvalidateProperty non è necessariamente applicabile per molti scenari di proprietà di dipendenza. Se una proprietà di dipendenza viene invalidata a causa delle modifiche di valore in uno dei componenti, il sistema di proprietà invalida e Rivaluta automaticamente la proprietà di dipendenza. Tuttavia, esistono altri scenari appropriati in cui InvalidateProperty è utile. In particolare, è possibile utilizzare InvalidateProperty all'interno del valore soggetto a coercizione o una proprietà modificata callback per una proprietà di dipendenza diversa. È inoltre possibile utilizzare InvalidateProperty per forzare una nuova valutazione di un'associazione in un'origine dati che non è in grado di implementare consigliata INotifyPropertyChanged meccanismo di notifica (ad esempio se l'utilizzo di classi di dati che non può essere derivata da, o in cui i dati sono un membro statico).

L'esempio seguente chiama InvalidateProperty su una proprietà personalizzata, ogni volta che modifica delle proprietà che sono coinvolti nel calcolo della proprietà invalidata. Si tratta di una tecnica alternativa alla chiamata di CoerceValue metodo, perché invalidando la proprietà vengono chiamati anche qualsiasi registrato CoerceValueCallback.

Shared Sub New()
	WidthProperty.OverrideMetadata(GetType(AreaButton), New FrameworkPropertyMetadata(New PropertyChangedCallback(AddressOf InvalidateAreaProperty)))
	HeightProperty.OverrideMetadata(GetType(AreaButton), New FrameworkPropertyMetadata(New PropertyChangedCallback(AddressOf InvalidateAreaProperty)))
End Sub
Private Shared Sub InvalidateAreaProperty(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
	d.InvalidateProperty(AreaProperty)
End Sub

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: