Freezable Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 |
| Freeze(Freezable, Boolean) |
Se o |
| 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 .