Freezable.Clone Méthode

Définition

Crée un clone modifiable de Freezable, en créant des copies complètes des valeurs de l’objet.Creates a modifiable clone of the Freezable, making deep copies of the object's values. Lors de la copie des propriétés de dépendance de l’objet, cette méthode copie les expressions (qui peuvent ne plus se résoudre), mais pas les animations ni leurs valeurs actuelles.When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

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

Retours

Clone modifiable de l'objet actif.A modifiable clone of the current object. La valeur de la propriété IsFrozen de l’objet cloné est false, même si la valeur de la propriété IsFrozen de la source est true..The cloned object's IsFrozen property is false even if the source's IsFrozen property is true.

Remarques

Les méthodes Clone et CloneCurrentValue produisent des clones modifiables d’objets Freezable figés (les méthodes clonent également des objets Freezable qui ne sont pas figés).The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (the methods also clone Freezable objects that are not frozen). Le clone est effectivement une copie complète de l’objet actuel.The clone is effectively a deep copy of the current object.

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

ActionAction Comportement de la méthode CloneClone method behavior Comportement de la méthode CloneCurrentValueCloneCurrentValue method behavior
Copie d’une propriété de dépendance qui a une expressionCopying a dependency property that has an expression L’expression est copiée, mais peut ne plus se résoudre.The expression is copied, but might no longer resolve. Pour plus d’informations, consultez Vue d’ensemble des objets Freezable.For more information, see Freezable Objects Overview. 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.Note that unset properties are not copied. Si une propriété unset a une valeur par défaut qui est un Freezablefigé, cette valeur de propriété reste figée dans le clone modifiable autrement.If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

Déplacer un Freezable entre threadsMove a Freezable Between Threads

Cette méthode peut être utile pour déplacer un Freezable entre les threads.This method can be useful for moving a Freezable between threads. Tout d’abord, rendez le Freezable non modifiable en appelant sa méthode Freeze.First, make the Freezable unmodifiable by calling its Freeze method. Désormais, un autre thread peut accéder au Freezable et créer un Clone local auquel il peut accéder.Now another thread can access the Freezable and make a local Clone that it can access.

Notes pour les héritiers

Cette méthode utilise CloneCore(Freezable) pour générer le clone.This method uses CloneCore(Freezable) to produce the clone. Pour modifier le comportement de cette méthode dans une classe dérivée, substituez la méthode CloneCore(Freezable).To modify the behavior of this method in a derived class, override the CloneCore(Freezable) method.

S’applique à

Voir aussi