Freezable.CloneCurrentValueCore(Freezable) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fait de l’instance un clone (copie complète) modifiable du Freezable spécifié à l’aide des valeurs de propriété actuelles.
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
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 du remplacement de cette méthode. Pour créer une copie modifiable de l’objet actuel, appelez CloneCurrentValue au lieu d’appeler directement cette méthode.
Notes pour les héritiers
Si vous dérivez de Freezable, vous devrez peut-être remplacer cette méthode. Les raisons de remplacer sont les suivantes :
Votre classe dérivée contient des données qui ne sont pas exposées via des 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 CreateInstanceCore()remplaçant simplement . Par exemple, cela s’applique si votre classe dérivée implémente 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 un travail d’initialisation supplémentaire n’ont pas besoin de remplacer CloneCurrentValueCore(Freezable).
Il est essentiel que toutes les implémentations appellent l’implémentation de base de cette méthode. Les implémentations doivent uniquement effectuer un 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 définies localement et accessibles en écriture. 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.
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.
Notez que les propriétés non définies ne sont pas copiées, ni en lecture seule. 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.
La liste suivante récapitule le comportement attendu pour 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.
Si une propriété est animée, sa valeur actuelle est copiée, mais l’animation elle-même ne l’est pas.
Aucun de ces sous-objets n’est figé lors de la création.
La copie elle-même n’est pas figée.