Freezable.GetAsFrozen Méthode

Définition

Crée une copie figée de Freezable, à l'aide des valeurs de propriété (non-animées) de base.Creates a frozen copy of the Freezable, using base (non-animated) property values. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.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

Retours

Copie figée de Freezable.A frozen copy of the Freezable. La propriété IsFrozen de la copie a la valeur true.The copy's IsFrozen property is set to true.

Exceptions

Freezable ne peut pas être figé parce qu'il contient des expressions ou des propriétés animées.The Freezable cannot be frozen because it contains expressions or animated properties.

Remarques

Vous devez vérifier la propriété CanFreeze avant d’appeler cette méthode pour vérifier que la Freezable peut être figée.You should check the CanFreeze property before calling this method to verify that the Freezable can be frozen. L’utilisation de cette méthode est similaire à la création d’une copie à l’aide de la Clone puis à sa congélation avec la méthode Freeze.Using this method is similar to creating a copy using the Clone and then freezing it with the Freeze method.

Les méthodes GetAsFrozen et GetCurrentValueAsFrozen peuvent améliorer la copie des performances, car elles ne clonent pas Freezable sous-objets déjà figés ; ils les copient uniquement par référence.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.

Le tableau suivant résume les différences entre les méthodes GetAsFrozen et GetCurrentValueAsFrozen.The following table summarizes the differences between the GetAsFrozen and GetCurrentValueAsFrozen methods.

ActionAction Comportement de la méthode GetAsFrozenGetAsFrozen method behavior Comportement de la méthode GetCurrentValueAsFrozenGetCurrentValueAsFrozen method behavior
Copie d’une propriété de dépendance qui a une expressionCopying a dependency property that has an expression La méthode lève une InvalidOperationException, car elle ne peut pas Freeze la propriété.The method throws an InvalidOperationException because it cannot Freeze the property. La valeur actuelle de l’expression est copiée, mais pas l’expression elle-même.The current value of the expression is copied, but not the expression itself.
Copie d’une propriété de dépendance animéeCopying an animated dependency property La valeur de base de la propriété (non animée) est copiée.The property's base (non-animated) value is copied. Les animations ne sont pas copiées.Animations are not copied. La valeur animée actuelle de la propriété est copiée.The property's current animated value is copied. Les animations ne sont pas copiées.Animations are not copied.

Notez que les propriétés non définies ne sont pas copiées et ne sont pas des propriétés en lecture seule.Note that unset properties are not copied, nor are read-only properties.

Pour créer une copie de la Freezable qui n’est pas figée, utilisez la méthode Clone.To create a copy of the Freezable that is not frozen, use the Clone method.

Notes pour les héritiers

Cette méthode utilise la méthode Virtual GetAsFrozenCore(Freezable) pour produire le clone.This method uses the virtual GetAsFrozenCore(Freezable) method to produce the clone.

S’applique à

Voir aussi