Partilhar via


UndoEngine Classe

Definição

Especifica a funcionalidade genérica de desfazer/refazer em tempo de 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 de desfazer representa uma única unidade de trabalho desfazível. Essa unidade é adicionada a uma pilha e, em seguida, o usuário pode 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 para seu estado inicial.

A UndoEngine classe aproveita as seguintes características dos objetos em execução no designer:

  • Todos os objetos interessantes podem ser persistidos 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 de desfazer que abrange várias ações menores.

Com esses recursos, UndoEngine pode fabricar todas as unidades de desfazer necessárias automaticamente.

Observação

Não altere os 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 serializado. A tabela a seguir mostra os serviços que devem estar disponíveis quando UndoEngine é criado.

Serviço Descrição
ComponentSerializationService Salva valores de propriedade e objeto para um componente antes e depois que uma alteração é feita.
IComponentChangeService Notifica o mecanismo de desfazer das alterações feitas nos componentes.
IDesignerHost Usado para rastrear transações.

Observação

Como a UndoEngine classe requer ComponentSerializationService e IComponentChangeService, ela está disponível apenas no momento do design.

O mecanismo de desfazer rastreia transações e cria uma única unidade de desfazer que abrange 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 de desfazer criará um nome de desfazer com base no tipo de alteração (por exemplo, "Alterar propriedade 'Text'").

Construtores

UndoEngine(IServiceProvider)

Inicializa uma nova instância da classe UndoEngine.

Propriedades

Enabled

Habilita ou desabilita o UndoEngine.

UndoInProgress

Indica se uma ação de desfazer está em andamento.

Métodos

AddUndoUnit(UndoEngine+UndoUnit)

Adiciona um 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 de hash padrão.

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

(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

Undoing

Ocorre imediatamente antes de uma ação de desfazer ser executada.

Undone

Ocorre imediatamente depois de uma ação de desfazer ser executada.

Aplica-se a

Confira também