Freezable.GetCurrentValueAsFrozenCore(Freezable) Méthode

Définition

Convertit l’instance actuelle en un clone figé du Freezable spécifié. Si l’objet a des propriétés de dépendance animées, leurs valeurs animées actuelles sont copiées.

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

Paramètres

sourceFreezable
Freezable

Freezable à copier et figer.

Remarques

Cette méthode est appelée par la GetCurrentValueAsFrozen 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 GetCurrentValueAsFrozen au lieu 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 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 GetCurrentValueAsFrozenCore(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 crée un nouveau Freezable à l’aide de la CreateInstance() méthode et effectue des copies approfondies des freezables non effrontés et des copies superficielles de toutes les autres propriétés définies localement accessibles en écriture qu’elle contient. Si l’objet a des propriétés de dépendance liées aux données, les liaisons de données 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, la valeur animée actuelle de ces propriétés est copiée, mais pas les animations.

Les propriétés de dépendance en lecture seule dans un Freezable ne sont pas copiées par cette implémentation par défaut.

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