Freezable.GetAsFrozen Freezable.GetAsFrozen Freezable.GetAsFrozen Freezable.GetAsFrozen Method

Definizione

Crea una copia bloccata di Freezable, utilizzando valori delle proprietà di base (non-animati).Creates a frozen copy of the Freezable, using base (non-animated) property values. Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.Because the copy is frozen, any frozen sub-objects are copied by reference.

public:
 System::Windows::Freezable ^ GetAsFrozen();
public System.Windows.Freezable GetAsFrozen ();
member this.GetAsFrozen : unit -> System.Windows.Freezable
Public Function GetAsFrozen () As Freezable

Restituisce

Una copia bloccata di Freezable.A frozen copy of the Freezable. La proprietà della copia IsFrozen è impostata su true.The copy's IsFrozen property is set to true.

Eccezioni

Freezable non può essere bloccato perché contiene espressioni o proprietà animate.The Freezable cannot be frozen because it contains expressions or animated properties.

Commenti

È necessario controllare la CanFreeze proprietà prima di chiamare questo metodo per verificare che Freezable l'oggetto possa essere bloccato.You should check the CanFreeze property before calling this method to verify that the Freezable can be frozen. L'utilizzo di questo metodo è simile alla creazione di una Clone copia utilizzando l'oggetto e quindi Freeze al relativo blocco con il metodo.Using this method is similar to creating a copy using the Clone and then freezing it with the Freeze method.

I GetAsFrozen metodi GetCurrentValueAsFrozen e possono migliorare le prestazioni di copia poiché non clonano Freezable gli oggetti secondari che sono già bloccati, ma li copiano solo per riferimento.The GetAsFrozen and GetCurrentValueAsFrozen methods can improve copying performance because they do not clone Freezable sub-objects that are already frozen; they only copy them by reference.

Nella tabella seguente sono riepilogate le differenze tra GetAsFrozen i GetCurrentValueAsFrozen metodi e.The following table summarizes the differences between the GetAsFrozen and GetCurrentValueAsFrozen methods.

OperazioneAction Comportamento del metodo GetAsFrozenGetAsFrozen method behavior Comportamento del metodo GetCurrentValueAsFrozenGetCurrentValueAsFrozen method behavior
Copia di una proprietà di dipendenza con un'espressioneCopying a dependency property that has an expression Il metodo genera un InvalidOperationException oggetto perché non Freeze è in grado di eseguire la proprietà.The method throws an InvalidOperationException because it cannot Freeze the property. Il valore corrente dell'espressione viene copiato, ma non l'espressione stessa.The current value of the expression is copied, but not the expression itself.
Copia di una proprietà di dipendenza animataCopying an animated dependency property Il valore di base (non animato) della proprietà viene copiato.The property's base (non-animated) value is copied. Le animazioni non vengono copiate.Animations are not copied. Viene copiato il valore animato corrente della proprietà.The property's current animated value is copied. Le animazioni non vengono copiate.Animations are not copied.

Si noti che le proprietà non impostate non vengono copiate, né sono proprietà di sola lettura.Note that unset properties are not copied, nor are read-only properties.

Per creare una copia di Freezable che non è bloccata, utilizzare il Clone metodo.To create a copy of the Freezable that is not frozen, use the Clone method.

Note per gli eredi

Questo metodo usa il metodo GetAsFrozenCore(Freezable) virtuale per produrre il clone.This method uses the virtual GetAsFrozenCore(Freezable) method to produce the clone.

Si applica a

Vedi anche