Freezable Classe

Definição

Define um objeto que tem um estado modificável e um estado somente leitura (congelado). Classes que derivam da notificação de Freezable alteração detalhada podem ser imutáveis e podem se clonar.

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 para modificar ou copiar. Exemplos de Freezable objetos incluem o seguinte:

Derivando de Freezable

Uma classe derivada de Freezable ganhos dos seguintes recursos:

  • Estados especiais: um estado somente leitura (congelado) e um estado gravável.

  • Segurança de thread: um objeto congelado Freezable pode ser compartilhado entre threads.

  • Notificação de alteração detalhada: ao contrário de outros DependencyObject objetos, um Freezable objeto fornece notificações de alteração quando os valores da sub-propriedade são alterados.

  • Clonagem fácil: a classe Freezable já implementou vários métodos que produzem clones profundos.

Para obter informações sobre como usar e criar seus próprios Freezable objetos, consulte Visão geral de objetos do Freezable.

Construtores

Nome Description
Freezable()

Inicializa uma nova instância de uma Freezable classe derivada.

Propriedades

Nome Description
CanFreeze

Obtém um valor que indica se o objeto pode ser tornado inmodificável.

DependencyObjectType

Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância.

(Herdado de DependencyObject)
Dispatcher

Obtém o Dispatcher que DispatcherObject está associado.

(Herdado de DispatcherObject)
IsFrozen

Obtém um valor que indica se o objeto é modificável no momento.

IsSealed

Obtém um valor que indica se essa instância está lacrada no momento (somente leitura).

(Herdado de DependencyObject)

Métodos

Nome Description
CheckAccess()

Determina se o thread de chamada tem acesso a isso DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade. A propriedade a ser desmarcada é especificada por um DependencyProperty identificador.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade somente leitura. A propriedade a ser desmarcada é especificada por um DependencyPropertyKey.

(Herdado de DependencyObject)
Clone()

Cria um clone modificável do Freezable. fazendo cópias profundas dos valores do objeto. Ao copiar as propriedades de dependência do objeto, esse método copia expressões (que podem não ser mais resolvidas), mas não animações ou seus valores atuais.

CloneCore(Freezable)

Torna a instância um clone (cópia profunda) dos valores de propriedade base (não animados) especificados Freezable .

CloneCurrentValue()

Cria um clone modificável (cópia profunda) do uso de Freezable seus valores atuais.

CloneCurrentValueCore(Freezable)

Torna a instância um clone modificável (cópia profunda) do especificado Freezable usando valores de propriedade atuais.

CoerceValue(DependencyProperty)

Coagi o valor da propriedade de dependência especificada. Isso é feito invocando qualquer CoerceValueCallback função especificada nos metadados de propriedade para a propriedade de dependência como ela existe na chamada DependencyObject.

(Herdado de DependencyObject)
CreateInstance()

Inicializa uma nova instância da classe Freezable.

CreateInstanceCore()

Quando implementado em uma classe derivada, cria uma nova instância da Freezable classe derivada.

Equals(Object)

Determina se um fornecido DependencyObject é equivalente ao atual DependencyObject.

(Herdado de DependencyObject)
Freeze()

Torna o objeto atual inmodificável e define sua IsFrozen propriedade como true.

Freeze(Freezable, Boolean)

Se o isChecking parâmetro for true, esse método indicará se o especificado Freezable pode ser tornado inmodificável. Se o isChecking parâmetro for false, esse método tentará tornar o não modificado especificado Freezable e indicará se a operação foi bem-sucedida.

FreezeCore(Boolean)

Torna o Freezable objeto inmodificável ou testa se ele pode se tornar não modificável.

GetAsFrozen()

Cria uma cópia congelada dos valores de Freezablepropriedade base (não animados). Como a cópia está congelada, todos os sub-objetos congelados são copiados por referência.

GetAsFrozenCore(Freezable)

Torna a instância um clone congelado dos valores de propriedade base (não animados) especificados Freezable .

GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable uso de valores de propriedade atuais. Como a cópia está congelada, todos os sub-objetos congelados são copiados por referência.

GetCurrentValueAsFrozenCore(Freezable)

Torna a instância atual um clone congelado do especificado Freezable. Se o objeto tiver propriedades de dependência animadas, seus valores animados atuais serão copiados.

GetHashCode()

Obtém um código hash para isso DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente.DependencyObject

(Herdado de DependencyObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência nesta instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo da propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OnChanged()

Chamado quando o objeto atual Freezable é modificado.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Esse membro dá suporte à infraestrutura do WPF (Windows Presentation Foundation) e não se destina a ser usado diretamente do seu código.

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garante que os ponteiros de contexto apropriados sejam estabelecidos para um DependencyObjectType membro de dados que acabou de ser definido.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Substitui a DependencyObject implementação de OnPropertyChanged(DependencyPropertyChangedEventArgs) invocar também os Changed manipuladores em resposta a uma propriedade de dependência de alteração do tipo Freezable.

ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se ela existir.

(Herdado de DependencyObject)
ReadPreamble()

Garante que ele Freezable esteja sendo acessado de um thread válido. Os herdadores devem Freezable chamar esse método no início de qualquer API que leia os membros de dados que não são propriedades de dependência.

SetCurrentValue(DependencyProperty, Object)

Define o valor de uma propriedade de dependência sem alterar sua fonte de valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente leitura, especificada pelo DependencyPropertyKey identificador da propriedade de dependência.

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida.

(Herdado de DependencyObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a isso DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Aciona o Changed evento para o Freezable método e invoca seu OnChanged() método. Classes das quais derivam Freezable devem chamar esse método no final de qualquer API que modifique os membros da classe que não são armazenados como propriedades de dependência.

WritePreamble()

Verifica se o Freezable não está congelado e se ele está sendo acessado de um contexto de threading válido. Freezable os herdadores devem chamar esse método no início de qualquer API que grava em membros de dados que não são propriedades de dependência.

Eventos

Nome Description
Changed

Ocorre quando o objeto ou um Freezable objeto que ele contém é modificado.

Aplica-se a

Acesso thread-safe

Todos os membros públicos static desse tipo são thread safe. Não há garantia de que quaisquer membros de instância sejam thread-safe.

Quando a IsFrozen propriedade é false, um Freezable objeto só pode ser acessado do thread no qual foi criado. Tentar acessá-lo de outro thread lança um InvalidOperationException. O e Invoke os BeginInvoke métodos fornecem suporte para marshaling para o thread correto.

Quando sua IsFrozen propriedade é true, Freezable os objetos são livres de thread. Para obter mais informações, consulte Visão Geral dos Objetos Freezable.