Partager via


Freezable.CloneCore(Freezable) Méthode

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.

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

Objet à cloner.

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. Pour créer une copie modifiable de l’objet actuel, appelez Clone plutôt que d’appeler cette méthode directement.

Notes pour les héritiers

Si vous dérivez de Freezable, vous devrez peut-être remplacer cette méthode. Les raisons de remplacer incluent les éléments suivants :

  • Votre classe dérivée contient des données qui ne sont pas exposées via les propriétés de dépendance.

  • Votre classe dérivée doit effectuer un travail d’initialisation supplémentaire qui ne peut pas être accompli en remplaçant CreateInstanceCore()simplement . Par exemple, cela s’applique si votre classe dérivée implémente ISupportInitialize.

Les classes qui stockent toutes leurs données dans les propriétés de dépendance et qui n’ont pas besoin d’effectuer un travail d’initialisation supplémentaire n’ont pas besoin de remplacer CloneCore(Freezable).

Il est essentiel que toutes les implémentations appellent l’implémentation de base de cette méthode. Les implémentations ne doivent effectuer que le travail qui n’est pas effectué par l’implémentation par défaut. L’implémentation par défaut effectue des copies approfondies de toutes les propriétés accessibles en écriture, définies localement, y compris les expressions internes.

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 être résolues. Pour plus d’informations sur le clonage d’objets liés aux données, consultez La vue d’ensemble des objets freezables. 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. Les animations ne sont pas copiées.

Notez que les propriétés non définies ne sont pas copiées, ni les propriétés en lecture seule. Si une telle propriété a une valeur par défaut qui est figée, cette valeur de propriété reste figée Freezabledans le clone modifiable autrement modifiable.

La liste suivante récapitule le comportement attendu de cette méthode :

  • La copie produite contient des copies de tous les Freezable sous-objets.

  • Les propriétés non définies et en lecture seule ne sont pas copiées.

  • Les expressions sont copiées.

  • Aucun de ces sous-objets n’est figé lors de la création.

  • La copie elle-même n’est pas figée.

  • Les animations ne sont pas copiées.

  • Seules les valeurs de base de propriétés sont copiées, et non les valeurs animées actuelles.

S’applique à

Voir aussi