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 de Freezable fournissent une notification de modifications détaillée, peuvent être rendues immuables et peuvent être clonées.

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 de l’application lors de l’utilisation d’objets coûteux à modifier ou à copier. Voici quelques exemples d’objets Freezable :

Dérivation de Freezable

Une 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 Vue d’ensemble des objets Freezable.

Constructeurs

Freezable()

Initialise une nouvelle instance d'une classe dérivée de Freezable.

Propriétés

CanFreeze

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

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
IsFrozen

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

IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

(Hérité de DependencyObject)

Méthodes

CheckAccess()

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

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

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

(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 DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable de Freezable, en créant des copies complètes 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 se résoudre), mais pas les animations ni leurs valeurs actuelles.

CloneCore(Freezable)

Fait de l’instance un clone (copie complète) du Freezable spécifié utilisant des valeurs de propriété (non animée) de base.

CloneCurrentValue()

Crée un clone modifiable (copie complète) de Freezable en utilisant ses valeurs actuelles.

CloneCurrentValueCore(Freezable)

Fait de l’instance un clone (copie complète) modifiable du Freezable spécifié à l’aide des valeurs de propriété actuelles.

CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.

(Hérité de DependencyObject)
CreateInstance()

Initialise une nouvelle instance de la classe Freezable.

CreateInstanceCore()

Une fois implémentée dans une classe dérivée, initialise une nouvelle instance de la classe dérivée Freezable.

Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actif non modifiable et attribue à sa propriété IsFrozen la valeur true.

Freeze(Freezable, Boolean)

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

FreezeCore(Boolean)

Rend l'objet Freezable non modifiable ou vérifie si celui-ci peut être rendu non modifiable ou pas.

GetAsFrozen()

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

GetAsFrozenCore(Freezable)

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

GetCurrentValueAsFrozen()

Crée une copie figée de Freezable à l'aide 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)

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.

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 le 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)

Réévalue la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnChanged()

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

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

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

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.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Substitue l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) pour appeler également tous les gestionnaires Changed en réponse à une propriété de dépendance variable de type Freezable.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si elle existe.

(Hérité de DependencyObject)
ReadPreamble()

Garantit que Freezable est accessible à partir d'un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API lisant 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 valeur source.

(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()

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)
WritePostscript()

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

WritePreamble()

Vérifie que le Freezable n'est pas figé et que son accès s'effectue à partir d'un contexte de thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API écrivant dans les membres de données qui ne sont pas des propriétés de dépendance.

Événements

Changed

Se produit lorsque Freezable ou un objet qu'il contient est modifié.

S’applique à

Cohérence de thread

Tous les membres publics static de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Lorsque la propriété a la IsFrozen valeur false, un Freezable objet est accessible uniquement à partir du thread sur lequel il a été créé. Si vous tentez d’y accéder à partir d’un autre thread, un InvalidOperationException. Les Invoke méthodes et BeginInvoke prennent en charge le marshaling vers le thread approprié.

Lorsque leur IsFrozen propriété a la valeur true, Freezable les objets sont à thread libre. Pour plus d’informations, consultez Vue d’ensemble des objets Freezable.