Freezable Freezable Freezable Freezable Class

Definición

Define un objeto que tiene un estado modificable y un estado de solo lectura (inmovilizado).Defines an object that has a modifiable state and a read-only (frozen) state. Las clases que derivan de Freezable proporcionan una notificación de cambios detallada, puede hacerse inmutables y pueden clonarse a sí mismas.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
Herencia
Derivado

Comentarios

La Freezable clase proporciona características especiales que pueden ayudar a mejorar el rendimiento de las aplicaciones cuando se usan objetos que son caros de modificar o copiar.The Freezable class provides special features that can help improve application performance when using objects that are expensive to modify or copy. Entre los Freezable ejemplos de objetos se incluyen los siguientes:Examples of Freezable objects include the following:

Derivar de FreezableDeriving From Freezable

Una clase que deriva de Freezable obtiene las siguientes características:A class that derives from Freezable gains the following features:

  • Estados especiales: estado de solo lectura (inmovilizado) y estado grabable.Special states: a read-only (frozen) state and a writable state.

  • Seguridad para subprocesos Freezable : un objeto inmovilizado puede compartirse entre subprocesos.Thread safety: a frozen Freezable object can be shared across threads.

  • Notificación de cambios detallada: A diferencia de DependencyObject otros objetos, Freezable un objeto proporciona notificaciones de cambios cuando cambian los valores de las propiedades secundarias.Detailed change notification: Unlike other DependencyObject objects, a Freezable object provides change notifications when sub-property values change.

  • Clonación sencilla: la clase Freezable ya ha implementado varios métodos que producen clones profundos.Easy cloning: the Freezable class has already implemented several methods that produce deep clones.

Para obtener información sobre el uso y la Freezable creación de sus propios objetos, vea información general sobre objetos Freezable.For information on using and creating your own Freezable objects, see Freezable Objects Overview.

Constructores

Freezable() Freezable() Freezable() Freezable()

Inicializa una nueva instancia de una clase Freezable derivada.Initializes a new instance of a Freezable derived class.

Propiedades

CanFreeze CanFreeze CanFreeze CanFreeze

Obtiene un valor que indica si el objeto se puede convertir en no modificable.Gets a value that indicates whether the object can be made unmodifiable.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

Obtiene el objeto DependencyObjectType que ajusta el tipo CLRCLR de esta instancia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsFrozen IsFrozen IsFrozen IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.Gets a value that indicates whether the object is currently modifiable.

IsSealed IsSealed IsSealed IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)

Métodos

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

Borra el valor local de una propiedad.Clears the local value of a property. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura.Clears the local value of a read-only property. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
Clone() Clone() Clone() Clone()

Crea un clon modificable del elemento Freezable y hace copias en profundidad de los valores del objeto.Creates a modifiable clone of the Freezable, making deep copies of the object's values. Cuando se copian las propiedades de dependencia del objeto, este método copia las expresiones (que puede que ya no se resuelvan), pero no copia las animaciones ni sus valores actuales.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) CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable)

Convierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con valores de propiedad base (no animadas).Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

CloneCurrentValue() CloneCurrentValue() CloneCurrentValue() CloneCurrentValue()

Crea un clon modificable (copia en profundidad) de Freezable con sus valores actuales.Creates a modifiable clone (deep copy) of the Freezable using its current values.

CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable)

Convierte esta instancia en un clon modificable (copia en profundidad) del Freezable especificado mediante los valores de propiedad actuales.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada.Coerces the value of the specified dependency property. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
CreateInstance() CreateInstance() CreateInstance() CreateInstance()

Inicializa una nueva instancia de la clase Freezable.Initializes a new instance of the Freezable class.

CreateInstanceCore() CreateInstanceCore() CreateInstanceCore() CreateInstanceCore()

Cuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada.When implemented in a derived class, creates a new instance of the Freezable derived class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
Freeze() Freeze() Freeze() Freeze()

Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true.Makes the current object unmodifiable and sets its IsFrozen property to true.

Freeze(Freezable, Boolean) Freeze(Freezable, Boolean) Freeze(Freezable, Boolean) Freeze(Freezable, Boolean)

Si el valor del parámetro isChecking es true, este método indica si la clase Freezable especificada se puede convertir en no modificable.If the isChecking parameter is true, this method indicates whether the specified Freezable can be made unmodifiable. Si el valor del parámetro isChecking es false, este método intenta convertir la clase Freezable especificada en no modificable e indica si la operación se realiza correctamente.If the isChecking parameter is false, this method attempts to make the specified Freezable unmodifiable and indicates whether the operation succeeded.

FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean)

Convierte el objeto Freezable en no modificable o prueba si se puede convertir en no modificable.Makes the Freezable object unmodifiable or tests whether it can be made unmodifiable.

GetAsFrozen() GetAsFrozen() GetAsFrozen() GetAsFrozen()

Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas).Creates a frozen copy of the Freezable, using base (non-animated) property values. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.Because the copy is frozen, any frozen sub-objects are copied by reference.

GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable)

Convierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de propiedades base (no animadas).Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen()

Crea una copia inmovilizada de Freezable con los valores de propiedad actuales.Creates a frozen copy of the Freezable using current property values. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.Because the copy is frozen, any frozen sub-objects are copied by reference.

GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable)

Convierte la instancia actual en un clon inmovilizado de la clase Freezable especificada.Makes the current instance a frozen clone of the specified Freezable. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales.If the object has animated dependency properties, their current animated values are copied.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Obtiene el código hash de DependencyObject.Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnChanged() OnChanged() OnChanged() OnChanged()

Se llama cuando el objeto Freezable actual.Called when the current Freezable object is modified.

OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer.Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro es compatible con la infraestructura de Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) y no está diseñado para utilizarse directamente desde el código.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) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

Reemplaza la implementación DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también cualquier controlador Changed en respuesta a una propiedad de dependencia cambiante de tipo 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) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
ReadPreamble() ReadPreamble() ReadPreamble() ReadPreamble()

Se asegura de que se tiene acceso a Freezable desde un subproceso válido.Ensures that the Freezable is being accessed from a valid thread. Los herederos de Freezable deben llamar a este método al inicio de las APIAPI que lean miembros de datos que no son propiedades de dependencia.Inheritors of Freezable must call this method at the beginning of any APIAPI that reads data members that are not dependency properties.

SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
WritePostscript() WritePostscript() WritePostscript() WritePostscript()

Genera el evento Changed para Freezable e invoca su método OnChanged().Raises the Changed event for the Freezable and invokes its OnChanged() method. Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no estén almacenados como propiedades de dependencia.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() WritePreamble() WritePreamble() WritePreamble()

Comprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido.Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Los herederos de Freezable deben llamar a este método al inicio de cualquier APIAPI que escriba en miembros de datos que no sean propiedades de dependencia.Freezable inheritors should call this method at the beginning of any APIAPI that writes to data members that are not dependency properties.

Eventos

Changed Changed Changed Changed

Se produce cuando se modifican la clase Freezable o un objeto que la contiene.Occurs when the Freezable or an object it contains is modified.

Se aplica a

Seguridad para subprocesos

Los miembros static públicos de este tipo son seguros para subprocesos.Any public static members of this type are thread safe. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.Any instance members are not guaranteed to be thread safe.

Cuando la IsFrozen propiedad es false, solo Freezable se puede tener acceso a un objeto desde el subproceso en el que se creó.When the IsFrozen property is false, a Freezable object can be accessed only from the thread on which it was created. Al intentar obtener acceso a él desde otro subproceso, InvalidOperationExceptionse produce una excepción.Attempting to access it from another thread throws an InvalidOperationException. Los Invoke métodos BeginInvoke y proporcionan compatibilidad para calcular las referencias al subproceso correcto.The Invoke and BeginInvoke methods provide support for marshaling to the correct thread.

Cuando su IsFrozen propiedad es true, Freezable los objetos son de subprocesamiento libre.When their IsFrozen property is true, Freezable objects are free-threaded. Para obtener más información, consulte Información general sobre objetos Freezable.For more information, see Freezable Objects Overview.