Freezable.GetAsFrozenCore(Freezable) Metodo

Definizione

Rende l'istanza un clone bloccato dell'oggetto Freezable specificato usando i valori di proprietà di base (non animati).

protected:
 virtual void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetAsFrozenCore (System.Windows.Freezable sourceFreezable);
abstract member GetAsFrozenCore : System.Windows.Freezable -> unit
override this.GetAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetAsFrozenCore (sourceFreezable As Freezable)

Parametri

sourceFreezable
Freezable

Istanza da copiare.

Commenti

Questo metodo viene chiamato dal GetAsFrozen metodo e non deve essere chiamato direttamente dal codice, tranne quando si chiama l'implementazione di base durante l'override di questo metodo. Per creare una copia bloccata dell'oggetto corrente, chiamare GetAsFrozen anziché chiamare direttamente questo metodo.

Note per gli eredi

Se si deriva da Freezable potrebbe essere necessario eseguire l'override di questo metodo. I motivi per eseguire l'override includono quanto segue:

  • La classe derivata contiene dati non esposti tramite proprietà di dipendenza.

  • La classe derivata deve eseguire operazioni di inizializzazione aggiuntive che non possono essere eseguite semplicemente eseguendo l'override di CreateInstanceCore(). Ad esempio, questo vale se la classe derivata implementa ISupportInitialize.

Le classi che archiviano tutti i dati nelle proprietà di dipendenza e che non devono eseguire operazioni di inizializzazione aggiuntive non devono eseguire l'override GetAsFrozenCore(Freezable)di .

È essenziale che tutte le implementazioni chiamino l'implementazione di base di questo metodo. Le implementazioni devono eseguire solo operazioni non eseguite dall'implementazione predefinita. L'implementazione predefinita esegue copie complete di eventuali freezable senza controllo e copie superficiali di tutte le altre proprietà scrivibili e impostate localmente che contiene. Se l'oggetto dispone di proprietà di dipendenza associate a dati, le espressioni vengono copiate ma potrebbero non essere più risolte; per altre informazioni sulla clonazione di oggetti associati a dati, vedere Cenni preliminari sugli oggetti freezable. Se l'oggetto ha proprietà di dipendenza animate, vengono copiati i valori di base (non animati) di tali proprietà. Le animazioni non vengono copiate.

Si noti che le proprietà nonset non vengono copiate, né sono proprietà di sola lettura.

Se si esegue l'override di questo metodo, è necessario chiamare l'implementazione di base.

Non è necessario che Freeze() i valori vengano copiati. Il risultato viene bloccato prima GetAsFrozen() di essere restituito.

Si applica a

Vedi anche