Freezable Clase

Definición

Define un objeto que tiene un estado modificable y un estado de solo lectura (inmovilizado). Las clases que derivan de Freezable proporcionar notificaciones de cambios detalladas se pueden convertir en inmutables y pueden clonarse.

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 la aplicación cuando se usan objetos que son costosos de modificar o copiar. Entre los ejemplos de Freezable objetos se incluyen los siguientes:

Derivación de Freezable

Una clase que deriva de Freezable obtiene las siguientes características:

  • Estados especiales: un estado de solo lectura (inmovilizado) y un estado grabable.

  • Seguridad de subprocesos: un objeto inmovilizado Freezable se puede compartir entre subprocesos.

  • Notificación de cambio detallada: a diferencia de otros DependencyObject objetos, un Freezable objeto proporciona notificaciones de cambio cuando cambian los valores de subproporción.

  • Clonación sencilla: la clase Freezable ya ha implementado varios métodos que producen clones profundos.

Para obtener información sobre el uso y la creación de sus propios Freezable objetos, vea Freezable Objects Overview.

Constructores

Nombre Description
Freezable()

Inicializa una nueva instancia de una Freezable clase derivada.

Propiedades

Nombre Description
CanFreeze

Obtiene un valor que indica si el objeto se puede hacer no modificable.

DependencyObjectType

Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto al que DispatcherDispatcherObject está asociado.

(Heredado de DispatcherObject)
IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.

IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (solo lectura).

(Heredado de DependencyObject)

Métodos

Nombre Description
CheckAccess()

Determina si el subproceso que llama tiene acceso a este DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad. Un identificador especifica DependencyProperty la propiedad que se va a borrar.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante .DependencyPropertyKey

(Heredado de DependencyObject)
Clone()

Crea un clon modificable de Freezable, haciendo copias profundas de los valores del objeto. Al copiar las propiedades de dependencia del objeto, este método copia expresiones (que podrían dejar de resolverse), pero no animaciones ni sus valores actuales.

CloneCore(Freezable)

Convierte la instancia en un clon (copia profunda) del especificado Freezable mediante valores de propiedad base (no animados).

CloneCurrentValue()

Crea un clon modificable (copia profunda) del Freezable utilizando sus valores actuales.

CloneCurrentValueCore(Freezable)

Convierte la instancia en un clon modificable (copia profunda) del especificado Freezable mediante los valores de propiedad actuales.

CoerceValue(DependencyProperty)

Coerce el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier CoerceValueCallback función especificada en metadatos de propiedad para la propiedad de dependencia tal como existe en la llamada DependencyObjecta .

(Heredado de DependencyObject)
CreateInstance()

Inicializa una nueva instancia de la clase Freezable.

CreateInstanceCore()

Cuando se implementa en una clase derivada, crea una nueva instancia de la Freezable clase derivada.

Equals(Object)

Determina si un proporcionado DependencyObject es equivalente al objeto actual DependencyObject.

(Heredado de DependencyObject)
Freeze()

Hace que el objeto actual no se pueda modificar y establezca su IsFrozen propiedad trueen .

Freeze(Freezable, Boolean)

Si el isChecking parámetro es true, este método indica si se puede hacer que el especificado Freezable no se pueda modificar. Si el isChecking parámetro es false, este método intenta hacer que el objeto especificado Freezable no se pueda modificar e indica si la operación se realizó correctamente.

FreezeCore(Boolean)

Hace que el Freezable objeto no se pueda modificar o compruebe si se puede hacer no modificable.

GetAsFrozen()

Crea una copia inmovilizada de , Freezablemediante valores de propiedad base (no animados). Dado que la copia está inmovilizada, los sub-objetos congelados se copian por referencia.

GetAsFrozenCore(Freezable)

Convierte la instancia en un clon inmovilizado del especificado Freezable mediante valores de propiedad base (no animados).

GetCurrentValueAsFrozen()

Crea una copia inmovilizada de mediante los valores de Freezable propiedad actuales. Dado que la copia está inmovilizada, los sub-objetos congelados se copian por referencia.

GetCurrentValueAsFrozenCore(Freezable)

Convierte la instancia actual en un clon inmovilizado del especificado Freezable. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales.

GetHashCode()

Obtiene un código hash para este DependencyObjectobjeto .

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia tienen valores establecidos localmente en este DependencyObject.

(Heredado de DependencyObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de .DependencyObject

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo de la propiedad de dependencia especificada.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnChanged()

Se llama cuando se modifica el objeto actual Freezable .

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garantiza que los punteros de contexto adecuados se establecen para un DependencyObjectType miembro de datos que se acaba de establecer.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invalida la DependencyObject implementación de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también los Changed controladores en respuesta a una propiedad de dependencia cambiante de tipo Freezable.

ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.

(Heredado de DependencyObject)
ReadPreamble()

Garantiza que Freezable se accede a desde un subproceso válido. Los heredadores de Freezable deben llamar a este método al principio de cualquier API que lea miembros de datos que no sean propiedades de dependencia.

SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar su origen de valor.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificada por el DependencyPropertyKey identificador de la propiedad de dependencia.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada.

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de llamada tenga acceso a este DispatcherObject.

(Heredado de DispatcherObject)
WritePostscript()

Genera el Changed evento para e Freezable invoca su OnChanged() método . Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique los miembros de clase que no se almacenan como propiedades de dependencia.

WritePreamble()

Comprueba que Freezable no está inmovilizado y que se accede a él desde un contexto de subproceso válido. Freezable Los heredares deben llamar a este método al principio de cualquier API que escriba en miembros de datos que no sean propiedades de dependencia.

Eventos

Nombre Description
Changed

Se produce cuando se modifica o Freezable un objeto que contiene.

Se aplica a

Seguridad para subprocesos

Los miembros públicos static de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para el acceso concurrente.

Cuando la IsFrozen propiedad es false, solo se puede tener acceso a un Freezable objeto desde el subproceso en el que se creó. Si intenta acceder a él desde otro subproceso, se produce una InvalidOperationExceptionexcepción . Los Invoke métodos y BeginInvoke proporcionan compatibilidad con la serialización en el subproceso correcto.

Cuando su IsFrozen propiedad es true, Freezable los objetos son subprocesos libres. Para obtener más información, consulte Información general sobre objetos congelables.