Freezable Classe

Définition

Définit un objet qui a un état modifiable et un état en lecture seule (figé). Les classes qui dérivent d’une Freezable notification de modification détaillée peuvent être rendues immuables et peuvent se cloner eux-mêmes.

public ref class Freezable abstract : System::Windows::DependencyObject
public abstract class Freezable : System.Windows.DependencyObject
type Freezable = class
    inherit DependencyObject
Public MustInherit Class Freezable
Inherits DependencyObject
Héritage
Dérivé

Remarques

La Freezable classe fournit des fonctionnalités spéciales qui peuvent aider à améliorer les performances des applications lors de l’utilisation d’objets coûteux à modifier ou copier. Voici quelques exemples d’objets Freezable :

Dérivation de Freezable

Classe qui dérive des Freezable gains des fonctionnalités suivantes :

  • États spéciaux : état en lecture seule (figé) et état accessible en écriture.

  • Sécurité des threads : un objet figé Freezable peut être partagé entre les threads.

  • Notification de modification détaillée : contrairement à d’autres DependencyObject objets, un Freezable objet fournit des notifications de modification lorsque les valeurs de sous-propriété changent.

  • Clonage facile : la classe Freezable a déjà implémenté plusieurs méthodes qui produisent des clones profonds.

Pour plus d’informations sur l’utilisation et la création de vos propres Freezable objets, consultez La vue d’ensemble des objets freezables.

Constructeurs

Nom Description
Freezable()

Initialise une nouvelle instance d’une Freezable classe dérivée.

Propriétés

Nom Description
CanFreeze

Obtient une valeur qui indique si l’objet peut être rendu non modifiable.

DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(Hérité de DispatcherObject)
IsFrozen

Obtient une valeur qui indique si l’objet est actuellement modifiable.

IsSealed

Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule).

(Hérité de DependencyObject)

Méthodes

Nom Description
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un DependencyProperty identificateur.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable du Freezable, effectuant des copies approfondies des valeurs de l’objet. Lors de la copie des propriétés de dépendance de l’objet, cette méthode copie les expressions (qui peuvent ne plus être résolues), mais pas les animations ou leurs valeurs actuelles.

CloneCore(Freezable)

Rend l’instance un clone (copie approfondie) de la propriété de base (non animée) spécifiée Freezable .

CloneCurrentValue()

Crée un clone modifiable (copie approfondie) de l’utilisation Freezable de ses valeurs actuelles.

CloneCurrentValueCore(Freezable)

Rend l’instance un clone modifiable (copie approfondie) de l’élément spécifié Freezable à l’aide de valeurs de propriété actuelles.

CoerceValue(DependencyProperty)

Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject.

(Hérité de DependencyObject)
CreateInstance()

Initialise une nouvelle instance de la classe Freezable.

CreateInstanceCore()

En cas d’implémentation dans une classe dérivée, crée une nouvelle instance de la Freezable classe dérivée.

Equals(Object)

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actuel non modifiable et définit sa IsFrozen propriété sur true.

Freeze(Freezable, Boolean)

Si le isChecking paramètre est true, cette méthode indique si le paramètre spécifié Freezable peut être rendu inmodifiable. Si le isChecking paramètre est false, cette méthode tente de rendre l’opération non modifiable spécifiée Freezable et indique si l’opération a réussi.

FreezeCore(Boolean)

Rend l’objet Freezable non modifiable ou teste s’il peut être rendu inmodifiable.

GetAsFrozen()

Crée une copie figée des valeurs de Freezablepropriété de base (non animées). Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

GetAsFrozenCore(Freezable)

Rend l’instance un clone figé de la propriété spécifiée à Freezable l’aide de valeurs de propriété de base (non animées).

GetCurrentValueAsFrozen()

Crée une copie figée de l’utilisation Freezable des valeurs de propriété actuelles. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

GetCurrentValueAsFrozenCore(Freezable)

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

GetHashCode()

Obtient un code de hachage pour ce DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnChanged()

Appelé lorsque l’objet actuel Freezable est modifié.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ce membre prend en charge l’infrastructure Windows Presentation Foundation (WPF) et n’est pas destiné à être utilisé directement à partir de votre code.

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garantit que les pointeurs de contexte appropriés sont établis pour un DependencyObjectType membre de données qui vient d’être défini.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Remplace l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) l’appel de tous Changed les gestionnaires en réponse à une propriété de dépendance modifiée de type Freezable.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, le cas échéant.

(Hérité de DependencyObject)
ReadPreamble()

Garantit l’accès Freezable à partir d’un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API qui lit les membres de données qui ne sont pas des propriétés de dépendance.

SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa source de valeur.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
VerifyAccess()

Applique que le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour la Freezable méthode et appelle sa OnChanged() méthode. Les classes dérivées Freezable de doivent appeler cette méthode à la fin de toute API qui modifie les membres de classe qui ne sont pas stockés en tant que propriétés de dépendance.

WritePreamble()

Vérifie que l’objet Freezable n’est pas figé et qu’il est accessible à partir d’un contexte de threading valide. Freezable Les hériteurs doivent appeler cette méthode au début de toute API qui écrit dans les membres de données qui ne sont pas des propriétés de dépendance.

Événements

Nom Description
Changed

Se produit lorsque l’objet Freezable qu’il contient est modifié.

S’applique à

Cohérence de thread

Tous les membres publics static de ce type sont thread-safe. Il n'y a aucune garantie que les membres d’instance soient thread-safe.

Lorsque la IsFrozen propriété est false, un Freezable objet est accessible uniquement à partir du thread sur lequel il a été créé. La tentative d’accès à partir d’un autre thread lève un InvalidOperationException. Les Invoke méthodes et BeginInvoke les méthodes prennent en charge le marshaling vers le thread approprié.

Quand leur IsFrozen propriété est true, Freezable les objets sont threads libres. Pour plus d’informations, consultez Vue d’ensemble des objets gelables.