Freezable Freezable Freezable Freezable Class

Definição

Define um objeto que tem um estado modificável e um estado somente leitura (congelado).Defines an object that has a modifiable state and a read-only (frozen) state. Classes que derivam de Freezable fornecem notificação de alteração detalhada, podem ser transformadas em imutáveis e podem clonar a si mesmas.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
Herança
Derivado

Comentários

A Freezable classe fornece recursos especiais que podem ajudar a melhorar o desempenho do aplicativo ao usar objetos caros de modificar ou copiar.The Freezable class provides special features that can help improve application performance when using objects that are expensive to modify or copy. Exemplos de Freezable objetos incluem o seguinte:Examples of Freezable objects include the following:

Derivando de FreezableDeriving From Freezable

Uma classe derivada de Freezable Obtém os seguintes recursos:A class that derives from Freezable gains the following features:

  • Estados especiais: um estado somente leitura (congelado) e um estado gravável.Special states: a read-only (frozen) state and a writable state.

  • Segurança de thread: um Freezable objeto congelado pode ser compartilhado entre threads.Thread safety: a frozen Freezable object can be shared across threads.

  • Notificação de alteração detalhada: Ao contrário DependencyObject de outros objetos Freezable , um objeto fornece notificações de alteração quando valores de subpropriedades são alterados.Detailed change notification: Unlike other DependencyObject objects, a Freezable object provides change notifications when sub-property values change.

  • Fácil clonagem: a classe Congelável tem vários métodos já implementados que produzem clones profundos.Easy cloning: the Freezable class has already implemented several methods that produce deep clones.

Para obter informações sobre como usar e criar Freezable seus próprios objetos, consulte visão geral de objetos Freezable.For information on using and creating your own Freezable objects, see Freezable Objects Overview.

Construtores

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

Inicializa uma nova instância de uma classe derivada de Freezable.Initializes a new instance of a Freezable derived class.

Propriedades

CanFreeze CanFreeze CanFreeze CanFreeze

Obtém um valor que indica se o objeto pode se tornar não modificável.Gets a value that indicates whether the object can be made unmodifiable.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

Obtém o DependencyObjectType que encapsula o tipo CLRCLR dessa instância.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsFrozen IsFrozen IsFrozen IsFrozen

Obtém um valor que indica se o objeto pode ser modificado no momento.Gets a value that indicates whether the object is currently modifiable.

IsSealed IsSealed IsSealed IsSealed

Obtém um valor que indica se essa instância está validada no momento (somente leitura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)

Métodos

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

Determina se o thread de chamada tem acesso a este DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

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

Limpa o valor local de uma propriedade.Clears the local value of a property. A propriedade a ser limpa é especificada por um identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

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

Limpa o valor local de uma propriedade somente leitura.Clears the local value of a read-only property. A propriedade a ser limpa é especificada por um DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

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

Cria um clone modificável do Freezable, fazendo cópias em profundidade dos valores do objeto.Creates a modifiable clone of the Freezable, making deep copies of the object's values. Ao copiar as propriedades de dependência do objeto, esse método copia as expressões (que talvez não possam mais ser resolvidas), mas não as animações nem seus valores atuais.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)

Faz com que a instância seja um clone (cópia em profundidade) do Freezable especificado usando valores de propriedade base (não animados).Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

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

Cria um clone modificável (cópia profunda) do Freezable usando seus valores atuais.Creates a modifiable clone (deep copy) of the Freezable using its current values.

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

Torna a instância um clone modificável (cópia em profundidade) do Freezable especificado usando os valores de propriedade atuais.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

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

Converte o valor da propriedade de dependência especificada.Coerces the value of the specified dependency property. Isso é feito invocando qualquer função CoerceValueCallback especificada nos metadados de propriedade para a propriedade de dependência, visto que ela existe na chamada a DependencyObject.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 uma nova instância da classe Freezable.Initializes a new instance of the Freezable class.

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

Quando implementado em uma classe derivada, cria uma nova instância da classe derivada Freezable.When implemented in a derived class, creates a new instance of the Freezable derived class.

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

Determina se um DependencyObject fornecido é equivalente ao DependencyObject atual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

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

Torna o objeto atual não modificável e define sua propriedade IsFrozen para 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)

Se o parâmetro isChecking é true, este método indica se o Freezable especificado pode ser tornado não modificável.If the isChecking parameter is true, this method indicates whether the specified Freezable can be made unmodifiable. Se o parâmetro isChecking é false, esse método tenta tornar o Freezable especificado não modificável e indica se a operação foi bem-sucedida.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)

Torna o objeto Freezable não modificável ou testa se ele pode ser transformado em não modificável.Makes the Freezable object unmodifiable or tests whether it can be made unmodifiable.

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

Cria uma cópia congelada o Freezable usando valores de propriedade base (não animadas).Creates a frozen copy of the Freezable, using base (non-animated) property values. Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.Because the copy is frozen, any frozen sub-objects are copied by reference.

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

Torna a instância um clone congelado do Freezable especificado usando valores de propriedade base (não animados).Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

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

Cria uma cópia congelada do Freezable usando valores de propriedade atuais.Creates a frozen copy of the Freezable using current property values. Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.Because the copy is frozen, any frozen sub-objects are copied by reference.

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

Torna a instância atual um clone congelado do Freezable especificado.Makes the current instance a frozen clone of the specified Freezable. Se o objeto tiver propriedades de dependência animadas, seus valores animados atuais serão copiados.If the object has animated dependency properties, their current animated values are copied.

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

Obtém o código hash para esse DependencyObject.Gets a hash code for this DependencyObject.

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

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

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

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Retorna o valor efetivo atual de uma propriedade de dependência nessa instância de um 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)

Reavalia o valor efetivo para a propriedade de dependência especificadaRe-evaluates the effective value for the specified dependency property

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

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Chamado quando o objeto Freezable atual é modificado.Called when the current Freezable object is modified.

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

Garante que os ponteiros de contexto apropriados sejam estabelecidos para um membro de dados DependencyObjectType que foi recém-definido.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 membro dá suporte à infraestrutura Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) e não se destina a ser usado diretamente do 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)

Substitui a implementação DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para também invocar quaisquer manipuladores Changed em resposta à alteração de uma propriedade de dependência do 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)

Retorna o valor local de uma propriedade de dependência, local, se houver.Returns the local value of a dependency property, if it exists.

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

Garante que o Freezable esteja sendo acessado de um thread válido.Ensures that the Freezable is being accessed from a valid thread. Herdeiros do Freezable devem chamar esse método no início de qualquer APIAPI que lê membros de dados que não são propriedades de dependência.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)

Define o valor da propriedade de dependência sem alterar a origem do 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)

Define o valor local de uma propriedade de dependência, especificada pelo identificador da propriedade de dependência.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)

Define o valor de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey da propriedade de dependência.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)

Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

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

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

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

Impõe que o thread de chamada tenha acesso a este DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

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

Aciona o evento Changed para o Freezable e invoca o respectivo método OnChanged().Raises the Changed event for the Freezable and invokes its OnChanged() method. Classes que derivam de Freezable devem chamar este método no final de qualquer API que modifica os membros de classe que não são armazenados como propriedades de dependência.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()

Verifica se o Freezable não está congelado e está sendo acessado de um contexto de threading válido.Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Herdeiros do Freezable devem chamar esse método no início de qualquer APIAPI que grava em membros de dados que não são propriedades de dependência.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

Ocorre quando o Freezable ou um objeto nele contido é modificado.Occurs when the Freezable or an object it contains is modified.

Aplica-se a

Acesso thread-safe

Todos os static membros públicos desse tipo são thread-safe.Any public static members of this type are thread safe. Não há garantia de que qualquer membro de instância seja thread-safe.Any instance members are not guaranteed to be thread safe.

Quando a IsFrozen propriedade é false, um Freezable objeto pode ser acessado somente do thread no qual ele foi criado.When the IsFrozen property is false, a Freezable object can be accessed only from the thread on which it was created. A tentativa de acessá-lo de outro thread InvalidOperationExceptionlança um.Attempting to access it from another thread throws an InvalidOperationException. Os Invoke métodos BeginInvoke e fornecem suporte para marshaling para o thread correto.The Invoke and BeginInvoke methods provide support for marshaling to the correct thread.

Quando sua IsFrozen propriedade é true, Freezable os objetos são de thread livre.When their IsFrozen property is true, Freezable objects are free-threaded. Para obter mais informações, consulte a Visão geral de objetos congeláveis.For more information, see Freezable Objects Overview.