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. 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.

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

Retours

Freezable

Clone modifiable de l'objet actif. 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.

Remarques

Les Clone CloneCurrentValue méthodes et produisent des clones modifiables d' Freezable objets figés (les méthodes clonent également des Freezable objets qui ne sont pas figés). Le clone est effectivement une copie complète de l’objet actuel.

Le tableau suivant résume les différences entre les Clone méthodes et CloneCurrentValue .

Action Comportement de la méthode Clone Comportement de la méthode CloneCurrentValue
Copie d’une propriété de dépendance qui a une expression L’expression est copiée, mais peut ne plus se résoudre. Pour plus d’informations, consultez Vue d’ensemble des objets Freezable. La valeur actuelle de l’expression est copiée, mais pas l’expression elle-même.
Copie d’une propriété de dépendance animée La valeur de base de la propriété (non animée) est copiée. Les animations ne sont pas copiées. La valeur animée actuelle de la propriété est copiée. Les animations ne sont pas copiées.

Notez que les propriétés non définies ne sont pas copiées. Si une propriété unset a une valeur par défaut qui est figée Freezable , cette valeur de propriété reste figée dans le clone modifiable dans le cas contraire.

Déplacer un Freezable entre threads

Cette méthode peut être utile pour déplacer un Freezable entre des threads. Tout d’abord, rendez le non Freezable modifiable en appelant sa Freeze méthode. Désormais, un autre thread peut accéder au Freezable et créer un local Clone auquel il peut accéder.

Notes pour les héritiers

Cette méthode utilise CloneCore(Freezable) pour produire le clone. Pour modifier le comportement de cette méthode dans une classe dérivée, substituez la CloneCore(Freezable) méthode.

S’applique à

Voir aussi