Comparteix a través de


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 proporcionan una notificación de cambios detallada, puede hacerse inmutables y pueden clonarse a sí mismas.

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 caros de modificar o copiar. Entre los ejemplos de Freezable objetos se incluyen los siguientes:

Derivación de Freezable

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

  • Estados especiales: un estado de solo lectura (congelado) 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 Información general sobre objetos Freezable.

Constructores

Freezable()

Inicializa una nueva instancia de una clase Freezable derivada.

Propiedades

CanFreeze

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

DependencyObjectType

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

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

(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 (es de solo lectura).

(Heredado de DependencyObject)

Métodos

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.

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

(Heredado de DependencyObject)
Clone()

Crea un clon modificable del elemento Freezable y hace copias en profundidad de los valores del objeto. 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.

CloneCore(Freezable)

Convierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con valores de propiedad base (no animadas).

CloneCurrentValue()

Crea un clon modificable (copia en profundidad) de Freezable con sus valores actuales.

CloneCurrentValueCore(Freezable)

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

CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada. 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.

(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 clase Freezable derivada.

Equals(Object)

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

(Heredado de DependencyObject)
Freeze()

Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true.

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

FreezeCore(Boolean)

Convierte el objeto Freezable en no modificable o prueba si se puede convertir en no modificable.

GetAsFrozen()

Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.

GetAsFrozenCore(Freezable)

Convierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de propiedades base (no animadas).

GetCurrentValueAsFrozen()

Crea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.

GetCurrentValueAsFrozenCore(Freezable)

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

GetHashCode()

Obtiene un código hash de este objeto DependencyObject.

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en 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 un DependencyObject.

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

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

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnChanged()

Se le llama cuando el objeto Freezable actual se modifica.

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer.

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.

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.

ReadLocalValue(DependencyProperty)

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

(Heredado de DependencyObject)
ReadPreamble()

Se asegura de que se tiene acceso a Freezable desde un subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que leen miembros de datos que no son propiedades de dependencia.

SetCurrentValue(DependencyProperty, Object)

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

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.

(Heredado de DependencyObject)
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.

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

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

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

(Heredado de DispatcherObject)
WritePostscript()

Genera el evento Changed para Freezable e invoca su método OnChanged(). 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.

WritePreamble()

Comprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que escriben en miembros de datos que no son propiedades de dependencia.

Eventos

Changed

Se produce cuando se modifican la clase Freezable o un objeto que la 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 subprocesos.

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

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