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.OnPropertyChanged (DependencyPropertyChangedEventArgs)

 

Data di pubblicazione: novembre 2016

Richiamato ogni volta che viene aggiornato il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject. La proprietà di dipendenza specifica modificata viene indicata nei dati dell'evento.

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

protected virtual void OnPropertyChanged(
	DependencyPropertyChangedEventArgs e
)

Parametri

e
Type: System.Windows.DependencyPropertyChangedEventArgs

Dati dell'evento che conterranno l'identificatore della proprietà di dipendenza di interesse, i metadati della proprietà per il tipo e i valori precedenti e nuovi.

Questo metodo non è in genere rilevare le modifiche alle singole proprietà o eseguire le convalide di proprietà per ogni caso. OnPropertyChanged è invece destinato alle modifiche del modello di invalidamento generale, se sono noto che alcune informazioni sulle classificazioni generali delle proprietà. Ad esempio, viene modificato un Freezable potrebbero essere modifiche nei tipi di valore di Freezable, o potrebbero essere sottoproprietà, in cui le modifiche sono all'interno di altri Freezable riferimenti. Il Freezable eseguire l'override dell'implementazione OnPropertyChanged utilizza le informazioni interne per determinare se le proprietà sono sottoproprietà e fornisce la logica di classe di base appropriata per entrambi i casi.

OnPropertyChanged è potenzialmente richiamato più volte nel corso della durata di un oggetto. Pertanto, è possibile ottenere prestazioni migliori per il sistema di proprietà complessivo se si ignora i metadati di proprietà specifiche e quindi collegare CoerceValueCallback o PropertyChangedCallback funzioni per le singole proprietà. Tuttavia, è necessario utilizzare questo metodo se un DependencyObject include un numero significativo di proprietà di dipendenza correlata al valore, o se include la logica, ad esempio il comportamento di rendering, che deve essere ripetuto per numerosi casi in cui le convalide di proprietà.

Note per gli eredi:

Chiamare sempre l'implementazione di base. In caso contrario si disabiliterà in modo significativo l'intero WPF sistema di proprietà, provocando valori non corretti per il report.

System_CAPS_importantImportante

Il OnPropertyChanged dispone di un'alta probabilità di introdurre problemi di reentrancy tramite l'implementazione. Quando si implementa, evitare i casi possibili reentrancy seguenti:

Non introdurre modale Interfaccia utente o includere in altro modo il Interfaccia utente thread.

Non immettere il message pump dall'interno OnPropertyChanged. Le risposte del messaggio (in particolare la gestione nativa che potrebbe non essere a conoscenza) potrebbero generare ulteriori modifiche alla proprietà.

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