Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Method

Définition

Fait de l’instance un clone (copie complète) modifiable du Freezable spécifié à l’aide des valeurs de propriété actuelles.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

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

Paramètres

sourceFreezable
Freezable Freezable Freezable Freezable

Freezable à cloner.The Freezable to be cloned.

Remarques

Cette méthode est appelée par la CloneCurrentValue 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 CloneCurrentValue 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 CloneCurrentValue plutôt que d’appeler cette méthode directement.To create a modifiable copy of the current object, call CloneCurrentValue 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 CloneCurrentValueCore(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 CloneCurrentValueCore(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.The default implementation makes deep copies of all writable, locally set properties. Si l’objet contient des propriétés de dépendance avec des expressions (telles qu’une liaison de données), la valeur actuelle de l’expression est copiée, mais pas l’expression elle-même.If the object contains dependency properties with expressions (such as a data binding), the current value of the expression is copied but not the expression itself.

Si l’objet a des propriétés de dépendance animées, la valeur animée actuelle de ces propriétés est copiée, mais pas les animations.If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

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.

-Si une propriété est animée, sa valeur actuelle est copiée, mais l’animation elle-même n’est pas.- If a property is animated, its current value is copied, but the animation itself is not.

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

S’applique à

Voir aussi