Freezable Classe

Définition

Définit un objet qui a un état modifiable et un état en lecture seule (figé).Defines an object that has a modifiable state and a read-only (frozen) state. Les classes qui dérivent de Freezable fournissent une notification de modifications détaillée, peuvent être rendues immuables et peuvent être clonées.Classes that derive from Freezable provide detailed change notification, can be made immutable, and can clone themselves.

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 classe Freezable 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.The Freezable class provides special features that can help improve application performance when using objects that are expensive to modify or copy. Voici quelques exemples d’objets Freezable :Examples of Freezable objects include the following:

Dérivation à partir de FreezableDeriving From Freezable

Une classe qui dérive de Freezable obtient les fonctionnalités suivantes :A class that derives from Freezable gains the following features:

  • États spéciaux : État en lecture seule (figé) et état accessible en écriture.Special states: a read-only (frozen) state and a writable state.

  • Sécurité des threads : un objet Freezable figé peut être partagé entre les threads.Thread safety: a frozen Freezable object can be shared across threads.

  • Notification de modification détaillée : Contrairement à d’autres objets DependencyObject, un objet Freezable fournit des notifications de modifications lorsque des valeurs de sous-propriétés changent.Detailed change notification: Unlike other DependencyObject objects, a Freezable object provides change notifications when sub-property values change.

  • Clonage facile : la classe Freezable a déjà implémenté plusieurs méthodes qui produisent des clones profonds.Easy cloning: the Freezable class has already implemented several methods that produce deep clones.

Pour plus d’informations sur l’utilisation et la création de vos propres objets Freezable, consultez vue d’ensemble des objets Freezable.For information on using and creating your own Freezable objects, see Freezable Objects Overview.

Constructeurs

Freezable()

Initialise une nouvelle instance d'une classe dérivée de Freezable.Initializes a new instance of a Freezable derived class.

Propriétés

CanFreeze

Obtient une valeur qui indique si l’objet peut être rendu non modifiable.Gets a value that indicates whether the object can be made unmodifiable.

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLRCLR de cette instance.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Hérité de DispatcherObject)
IsFrozen

Obtient une valeur qui indique si l’objet est actuellement modifiable.Gets a value that indicates whether the object is currently modifiable.

IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).Gets a value that indicates whether this instance is currently sealed (read-only).

(Hérité de DependencyObject)

Méthodes

CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

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

Efface la valeur locale d’une propriété.Clears the local value of a property. La propriété à effacer est spécifiée par un identificateur DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

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

Efface la valeur locale d’une propriété en lecture seule.Clears the local value of a read-only property. La propriété à effacer est spécifiée par DependencyPropertyKey.The property to be cleared is specified by a 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.Creates a modifiable clone of the Freezable, making deep copies of the object's values. 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.When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

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.Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

CloneCurrentValue()

Crée un clone modifiable (copie complète) de Freezable en utilisant ses valeurs actuelles.Creates a modifiable clone (deep copy) of the Freezable using its current values.

CloneCurrentValueCore(Freezable)

Fait de l’instance un clone (copie complète) modifiable du Freezable spécifié à l’aide des valeurs de propriété actuelles.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée.Coerces the value of the specified dependency property. 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.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Hérité de DependencyObject)
CreateInstance()

Initialise une nouvelle instance de la classe Freezable.Initializes a new instance of the Freezable class.

CreateInstanceCore()

Une fois implémentée dans une classe dérivée, initialise une nouvelle instance de la classe dérivée Freezable.When implemented in a derived class, creates a new instance of the Freezable derived class.

Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actif non modifiable et attribue à sa propriété IsFrozen la valeur true.Makes the current object unmodifiable and sets its IsFrozen property to 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.If the isChecking parameter is true, this method indicates whether the specified Freezable can be made unmodifiable. 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.If the isChecking parameter is false, this method attempts to make the specified Freezable unmodifiable and indicates whether the operation succeeded.

FreezeCore(Boolean)

Rend l'objet Freezable non modifiable ou vérifie si celui-ci peut être rendu non modifiable ou pas.Makes the Freezable object unmodifiable or tests whether it can be made unmodifiable.

GetAsFrozen()

Crée une copie figée de Freezable, à l'aide des valeurs de propriété (non-animées) de base.Creates a frozen copy of the Freezable, using base (non-animated) property values. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.Because the copy is frozen, any frozen sub-objects are copied by reference.

GetAsFrozenCore(Freezable)

Transforme l’instance en clone figé du Freezable spécifié utilisant des valeurs de propriété (non animée) de base.Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

GetCurrentValueAsFrozen()

Crée une copie figée de Freezable à l'aide des valeurs de propriété actuelles.Creates a frozen copy of the Freezable using current property values. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.Because the copy is frozen, any frozen sub-objects are copied by reference.

GetCurrentValueAsFrozenCore(Freezable)

Convertit l'instance actuelle en un clone figé du Freezable spécifié.Makes the current instance a frozen clone of the specified Freezable. Si l’objet a des propriétés de dépendance animées, leurs valeurs animées actuelles sont copiées.If the object has animated dependency properties, their current animated values are copied.

GetHashCode()

Obtient un code de hachage pour ce DependencyObject.Gets a hash code for this 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.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

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

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

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

Réévalue la valeur effective de la propriété de dépendance spécifiée.Re-evaluates the effective value for the specified dependency property.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
OnChanged()

Appelé lorsque l’objet Freezable actuel est modifié.Called when the current Freezable object is modified.

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.Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ce membre prend en charge l’infrastructure Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) et n’est pas destiné à être directement utilisé à partir de votre code.This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your 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.Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si elle existe.Returns the local value of a dependency property, if it exists.

(Hérité de DependencyObject)
ReadPreamble()

Garantit que Freezable est accessible à partir d'un thread valide.Ensures that the Freezable is being accessed from a valid thread. 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.Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties.

SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa valeur source.Sets the value of a dependency property without changing its value 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.Sets the local value of a dependency property, specified by its dependency property identifier.

(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.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(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.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour le Freezable et appelle sa méthode OnChanged().Raises the Changed event for the Freezable and invokes its OnChanged() method. 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.Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

WritePreamble()

Vérifie que le Freezable n'est pas figé et que son accès s'effectue à partir d'un contexte de thread valide.Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. 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.Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties.

Événements

Changed

Se produit lorsque Freezable ou un objet qu'il contient est modifié.Occurs when the Freezable or an object it contains is modified.

S’applique à

Cohérence de thread

Tous les membres static publics de ce type sont thread-safe.Any public static members of this type are thread safe. Il n'est pas garanti que les membres d'instance soient thread-safe.Any instance members are not guaranteed to be thread safe.

Lorsque la propriété IsFrozen est false, un objet Freezable est accessible uniquement à partir du thread sur lequel il a été créé.When the IsFrozen property is false, a Freezable object can be accessed only from the thread on which it was created. Toute tentative d’accès à ce thread à partir d’un autre thread lève une InvalidOperationException.Attempting to access it from another thread throws an InvalidOperationException. Les méthodes Invoke et BeginInvoke prennent en charge le marshaling vers le thread approprié.The Invoke and BeginInvoke methods provide support for marshaling to the correct thread.

Lorsque leur propriété IsFrozen est true, Freezable objets sont à thread libre.When their IsFrozen property is true, Freezable objects are free-threaded. Pour plus d’informations, consultez Vue d’ensemble des objets Freezable.For more information, see Freezable Objects Overview.