Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Method

Definizione

Rende l’istanza corrente una copia bloccata di Freezablespecificato.Makes the current instance a frozen clone of the specified Freezable. Se l'oggetto dispone di proprietà di dipendenza animate, i valori animati correnti vengono copiati.If the object has animated dependency properties, their current animated values are copied.

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

Parametri

sourceFreezable
Freezable Freezable Freezable Freezable

Oggetto Freezable da copiare e bloccare.The Freezable to copy and freeze.

Commenti

Questo metodo viene chiamato dal GetCurrentValueAsFrozen metodo e non deve essere chiamato direttamente dal codice, tranne quando si chiama l'implementazione di base mentre si esegue l'override di questo metodo.This method is called by the GetCurrentValueAsFrozen method and should not be called directly from your code, except when calling the base implementation while overriding this method. Per creare una copia bloccata dell'oggetto corrente, chiamare GetCurrentValueAsFrozen anziché chiamare direttamente questo metodo.To create a frozen copy of the current object, call GetCurrentValueAsFrozen instead of calling this method directly.

Note per gli eredi

Se si deriva da Freezable, potrebbe essere necessario eseguire l'override di questo metodo.If you derive from Freezable, you may need to override this method. I motivi per eseguire l'override includono quanto segue:Reasons to override include the following: -La classe derivata contiene dati non esposti tramite proprietà di dipendenza.- Your derived class has data that is not exposed via dependency properties.

-La classe derivata deve eseguire operazioni di inizializzazione aggiuntive che non possono essere eseguite semplicemente CreateInstanceCore()eseguendo l'override di.- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Questo vale ad esempio se la classe derivata implementa ISupportInitialize.For example, this applies if your derived class implements ISupportInitialize.

Non è necessario eseguire l'override delle classi che archiviano tutti i dati nelle proprietà di dipendenza e che non richiedono l' GetCurrentValueAsFrozenCore(Freezable)esecuzione di operazioni di inizializzazione aggiuntive.Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override GetCurrentValueAsFrozenCore(Freezable).

È essenziale che tutte le implementazioni chiamino l'implementazione di base di questo metodo.It is essential that all implementations call the base implementation of this method. Le implementazioni devono eseguire solo operazioni non eseguite dall'implementazione predefinita.Implementations should only perform work that is not performed by the default implementation. L'implementazione predefinita crea un nuovo Freezable oggetto usando CreateInstance() il metodo ed esegue copie complete di Freezable non bloccati e copie superficiali di tutte le altre proprietà impostate in locale e scrivibili in esso contenute.The default implementation creates a new Freezable using the CreateInstance() method and makes deep copies of unfrozen freezables and shallow copies of all other writable, locally set properties it contains. Se l'oggetto dispone di proprietà di dipendenza associate a dati, i data binding vengono copiati, ma potrebbero non essere più risolti; Per ulteriori informazioni sulla clonazione di oggetti associati a dati, vedere Cenni preliminari sugli oggetti Freezable.If the object has data-bound dependency properties, the data bindings are copied but might no longer resolve; for more information about cloning data-bound objects, see Freezable Objects Overview. Se l'oggetto ha proprietà di dipendenza animate, il valore animato corrente di tali proprietà viene copiato, ma le animazioni non lo sono.If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

Le proprietà di dipendenza di sola lettura Freezable all'interno di non vengono copiate da questa implementazione predefinita.Read-only dependency properties within a Freezable are not copied by this default implementation.

Se si esegue l'override di questo metodo, è necessario chiamare l'implementazione di base.If you do override this method, you must call the base implementation.

Non è necessario Freeze() che i valori vengano copiati.You do not need to Freeze() values as they are copied. Il risultato viene bloccato da GetAsFrozen() prima della restituzione.The result is frozen by GetAsFrozen() before being returned.

Si applica a

Vedi anche