Freezable.GetAsFrozen Metodo

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

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

I metodi GetAsFrozen e GetCurrentValueAsFrozen possono migliorare le prestazioni di copia perché non clonano Freezable oggetti secondari già bloccati; vengono copiati 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 i metodi GetAsFrozen e GetCurrentValueAsFrozen.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 perché non è in grado di Freeze 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 del Freezable che non è bloccata, utilizzare il metodo Clone.To create a copy of the Freezable that is not frozen, use the Clone method.

Note per gli eredi

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

Si applica a

Vedi anche