UndoEngine Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica a funcionalidade genérica de desfazer/refazer no momento do design.
public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
- Herança
-
UndoEngine
- Implementações
Comentários
A UndoEngine classe abstrata fornece uma implementação padrão da funcionalidade desfazer em tempo de design. Uma unidade desfazer representa uma única unidade de trabalho desfazível. Essa unidade é adicionada a uma pilha e o usuário pode, em seguida, percorrer a pilha para desfazer cada ação. Normalmente, as unidades de desfazer são projetadas para alternar, o que significa que a chamada desfazer duas vezes retorna o aplicativo ao seu estado inicial.
A UndoEngine classe aproveita as seguintes características dos objetos em execução no designer:
Todos os objetos interessantes podem ser mantidos em algum formato pelo carregador de designer.
Todos os objetos geram notificações de alteração de propriedade quando uma propriedade é alterada.
IDesignerHost oferece a ideia de transações, que podem ser usadas para fabricar uma ação desfazer que abrange várias ações menores.
Com esses recursos, UndoEngine pode fabricar todas as unidades de desfazer necessárias automaticamente.
Note
Não altere valores de propriedade diretamente. A UndoEngine classe exige que você use o apropriado TypeDescriptor para alterar valores de propriedade.
UndoEngine monitora as notificações de alteração para criar unidades de desfazer e as próprias unidades consistem em estados de objeto serializados. A tabela a seguir mostra os serviços que devem estar disponíveis quando UndoEngine são criados.
| Service | Descrição |
|---|---|
| ComponentSerializationService | Salva valores de propriedade e objeto para um componente antes e depois de uma alteração ser feita. |
| IComponentChangeService | Notifica o mecanismo de desfazer das alterações feitas nos componentes. |
| IDesignerHost | Usado para acompanhar transações. |
Note
Como a UndoEngine classe requer ComponentSerializationService e IComponentChangeServiceestá disponível apenas no momento do design.
O mecanismo de desfazer rastreia transações e cria uma única unidade de desfazer que engloba uma transação. Como resultado, o mecanismo de desfazer tem controle sobre a duração de uma ação desfazível. Além disso, como as transações podem ser nomeadas, ações desfazíveis herdam seus nomes da transação atual. Se nenhuma transação estiver disponível e uma alteração for relatada, o mecanismo desfazer criará um nome desfazer com base no tipo de alteração (por exemplo, "Alterar propriedade 'Text'").
Construtores
| Nome | Description |
|---|---|
| UndoEngine(IServiceProvider) |
Inicializa uma nova instância da classe UndoEngine. |
Propriedades
| Nome | Description |
|---|---|
| Enabled |
Habilita ou desabilita o UndoEngine. |
| UndoInProgress |
Indica se uma ação desfazer está em andamento. |
Métodos
| Nome | Description |
|---|---|
| AddUndoUnit(UndoEngine+UndoUnit) |
Adiciona uma UndoEngine.UndoUnit pilha de desfazer. |
| CreateUndoUnit(String, Boolean) |
Cria um novo UndoEngine.UndoUnit. |
| DiscardUndoUnit(UndoEngine+UndoUnit) |
Descarta um UndoEngine.UndoUnit. |
| Dispose() |
Libera todos os recursos usados pelo UndoEngine. |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo UndoEngine e, opcionalmente, libera os recursos gerenciados. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetRequiredService(Type) |
Obtém o serviço solicitado. |
| GetService(Type) |
Obtém o serviço solicitado. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| OnUndoing(EventArgs) |
Aciona o evento Undoing. |
| OnUndone(EventArgs) |
Aciona o evento Undone. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Eventos
| Nome | Description |
|---|---|
| Undoing |
Ocorre imediatamente antes que uma ação de desfazer seja executada. |
| Undone |
Ocorre imediatamente após a execução de uma ação de desfazer. |