Freezable Classe

Definição

Define um objeto que tem um estado modificável e um estado somente de leitura (congelado). As classes que derivam de Freezable fornecem notificações detalhadas de alterações, podem tornar-se imutáveis e podem clonar-se a si próprias.

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

Observações

A Freezable classe oferece funcionalidades especiais que podem ajudar a melhorar o desempenho da aplicação ao utilizar objetos dispendiosos de modificar ou copiar. Exemplos de Freezable objetos incluem os seguintes:

Derivando de congelável

Uma classe que deriva de Freezable ganha as seguintes características:

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

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

  • Notificação detalhada de alteração: Ao contrário de outros DependencyObject objetos, um Freezable objeto fornece notificações de alteração quando os valores das subpropriedades mudam.

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

Para informações sobre como usar e criar os seus próprios Freezable objetos, consulte Visão Geral dos Objetos Congeláveis.

Construtores

Name Description
Freezable()

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

Propriedades

Name Description
CanFreeze

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

DependencyObjectType

Obtém o DependencyObjectType que envolve o tipo CLR desta instância.

(Herdado de DependencyObject)
Dispatcher

Percebe o Dispatcher que isto DispatcherObject está associado.

(Herdado de DispatcherObject)
IsFrozen

Recebe um valor que indica se o objeto é atualmente modificável.

IsSealed

Recebe um valor que indica se esta instância está atualmente selada (apenas leitura).

(Herdado de DependencyObject)

Métodos

Name Description
CheckAccess()

Determina se o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

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

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade de apenas leitura. O imóvel a ser limpo é especificado 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, este método copia expressões (que podem deixar de se resolver), mas não as animações nem os seus valores atuais.

CloneCore(Freezable)

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

CloneCurrentValue()

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

CloneCurrentValueCore(Freezable)

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

CoerceValue(DependencyProperty)

Coage o valor da propriedade de dependência especificada. Isto é conseguido invocando qualquer CoerceValueCallback função especificada nos metadados da propriedade para a propriedade de dependência tal como existe na chamada DependencyObject.

(Herdado de DependencyObject)
CreateInstance()

Inicializa uma nova instância da Freezable classe.

CreateInstanceCore()

Quando implementado numa classe derivada, cria-se uma nova instância da Freezable classe derivada.

Equals(Object)

Determina se um fornecido DependencyObject é equivalente à corrente DependencyObject.

(Herdado de DependencyObject)
Freeze()

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

Freeze(Freezable, Boolean)

Se o isChecking parâmetro for true, este método indica se o especificado Freezable pode ser tornado inmodificável. Se o isChecking parâmetro for false, este método tenta tornar o especificado Freezable inmodificável e indica se a operação teve sucesso.

FreezeCore(Boolean)

Torna o Freezable objeto immodificável ou testa se pode ser tornado immodificável.

GetAsFrozen()

Cria uma cópia congelada do Freezable, usando valores base (não animados) da propriedade. Como a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

GetAsFrozenCore(Freezable)

Torna a instância um clone congelado do especificado Freezable usando valores base (não animados).

GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable usando os valores atuais das propriedades. Como a cópia está congelada, quaisquer subobjetos 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, os seus valores animados atuais são copiados.

GetHashCode()

Obtém um código de hash para isto DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

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

(Herdado de DependencyObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Devolve 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 atual Object.

(Herdado de Object)
OnChanged()

Chamada quando o objeto atual Freezable é modificado.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este membro suporta a infraestrutura Windows Presentation Foundation (WPF) e não foi concebido para ser usado diretamente a partir do seu código.

OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assegura que os apontadores de contexto apropriados são estabelecidos para um DependencyObjectType membro de dados que acabou de ser definido.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Sobrepõe a DependencyObject implementação de OnPropertyChanged(DependencyPropertyChangedEventArgs) para também invocar quaisquer Changed manipuladores em resposta a uma alteração da propriedade de dependência do tipo Freezable.

ReadLocalValue(DependencyProperty)

Devolve o valor local de uma propriedade de dependência, se esta existir.

(Herdado de DependencyObject)
ReadPreamble()

Garante que está a ser acedido Freezable a partir de um thread válido. Os herdeiros de Freezable devem chamar este método no início de qualquer API que leia 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 a sua fonte de valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificado pelo seu identificador de propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

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

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

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

(Herdado de DependencyObject)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Eleva o Changed evento para o Freezable e invoca o seu OnChanged() método. As classes que derivam de Freezable devem chamar este método no final de qualquer API que modifique membros de classe que não estejam armazenados como propriedades de dependência.

WritePreamble()

Verifica se o Freezable não está congelado e que está a ser acedido a partir de um contexto de threading válido. Freezable os herdeiros devem chamar este método no início de qualquer API que escreva para membros de dados que não sejam propriedades de dependência.

evento

Name Description
Changed

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

Aplica-se a

Segurança de Thread

Qualquer membro público static deste tipo é seguro para tópicos. Qualquer membro de instância não é garantido que seja seguro contra threads.

Quando a IsFrozen propriedade é false, um Freezable objeto só pode ser acedido a partir do thread onde foi criado. Tentar aceder a ela a partir de outro thread gera um InvalidOperationExceptionarquivo . Os Invoke métodos and BeginInvoke fornecem suporte para marshaling para o thread correto.

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