Partager via


Freezable.GetAsFrozenCore(Freezable) Méthode

Définition

Transforme l’instance en clone figé du Freezable spécifié utilisant des valeurs de propriété (non animée) de base.

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

Paramètres

sourceFreezable
Freezable

Instance à copier.

Remarques

Cette méthode est appelée par la GetAsFrozen 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 figée de l’objet actuel, appelez GetAsFrozen au lieu d’appeler cette méthode directement.

Notes pour les héritiers

Si vous en dérivez, 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 effectué 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 GetAsFrozenCore(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 tous les freezables unfrozen et des copies superficielles de toutes les autres propriétés définies localement et accessibles en écriture qu’elle contient. 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 Vue d’ensemble des objets Freezable. Si l’objet a des propriétés de dépendance animées, les valeurs de base (non animées) de ces propriétés sont copiées. Les animations ne sont pas copiées.

Notez que les propriétés non définies ne sont pas copiées, ni en lecture seule.

Si vous remplacez cette méthode, vous devez appeler l’implémentation de base.

Vous n’avez pas besoin de valeurs Freeze() car elles sont copiées. Le résultat est figé avant GetAsFrozen() d’être retourné.

S’applique à

Voir aussi