Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Method

Définition

Fait de l’instance un clone (copie complète) du Freezable spécifié utilisant des valeurs de propriété (non animée) de base.Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

protected:
 virtual void CloneCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCore (System.Windows.Freezable sourceFreezable);
abstract member CloneCore : System.Windows.Freezable -> unit
override this.CloneCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCore (sourceFreezable As Freezable)

Paramètres

sourceFreezable
Freezable Freezable Freezable Freezable

Objet à cloner.The object to clone.

Remarques

Cette méthode est appelée par la Clone méthode et ne doit pas être appelée directement à partir de votre code, sauf lors de l’appel de l’implémentation de base lors de la substitution de cette méthode.This method is called by the Clone method and should not be called directly from your code, except when calling the base implementation while overriding this method. Pour créer une copie modifiable de l’objet actuel, appelez Clone plutôt que d’appeler cette méthode directement.To create a modifiable copy of the current object, call Clone instead of calling this method directly.

Notes pour les héritiers

Si vous dérivez de Freezable, vous devrez peut-être substituer cette méthode.If you derive from Freezable, you may need to override this method. Les raisons du remplacement sont les suivantes:Reasons to override include the following: -Votre classe dérivée contient des données qui ne sont pas exposées via des propriétés de dépendance.- Your derived class has data that is not exposed via dependency properties.

-Votre classe dérivée doit effectuer un travail d’initialisation supplémentaire qui ne peut pas être accompli CreateInstanceCore()en remplaçant simplement.- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Par exemple, cela s’applique si votre classe dérivée ISupportInitializeimplémente.For example, this applies if your derived class implements ISupportInitialize.

Les classes qui stockent toutes leurs données dans des propriétés de dépendance et qui n’ont pas besoin d’effectuer des tâches d’initialisation supplémentaires CloneCore(Freezable)n’ont pas besoin d’être substituées.Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override CloneCore(Freezable).

Il est essentiel que toutes les implémentations appellent l’implémentation de base de cette méthode.It is essential that all implementations call the base implementation of this method. Les implémentations doivent uniquement exécuter du travail qui n’est pas effectué par l’implémentation par défaut.Implementations should only perform work that is not performed by the default implementation. L’implémentation par défaut effectue des copies complètes de toutes les propriétés accessibles en écriture, localement définies, y compris les expressions internes.The default implementation makes deep copies of all writable, locally set properties, including internal expressions.

Si l’objet a des propriétés de dépendance liées aux données, les expressions sont copiées, mais peuvent ne plus se résoudre.If the object has data-bound dependency properties, the expressions are copied but might no longer resolve. Pour plus d’informations sur le clonage des objets liés aux données, consultez vue d’ensemble des objets Freezable.For more information about cloning data-bound objects, see Freezable Objects Overview. Si l’objet a des propriétés de dépendance animées, la valeur de base (non animée) de ces propriétés est copiée.If the object has animated dependency properties, the base (non-animated) value of those properties 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. Si une telle propriété 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.If such a property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

La liste suivante résume le comportement attendu pour cette méthode:The following list summarizes the expected behavior for this method: -La copie produite contient des copies de Freezable tous les sous-objets.- The copy produced contains copies of all Freezable sub-objects.

-Les propriétés non définies et en lecture seule ne sont pas copiées.- Unset and read-only properties are not copied.

-Les expressions sont copiées.- Expressions are copied.

-Aucun de ces sous-objets n’est figé à la création.- None of these sub-objects are frozen on creation.

-La copie elle-même n’est pas figée.- The copy itself is not frozen.

-Les animations ne sont pas copiées.- Animations are not copied.

-Seules les valeurs de base de la propriété sont copiées, pas les valeurs animées actuelles.- Only property base values are copied, not current animated values.

S’applique à

Voir aussi