UndoEngine Classe

Definição

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.

Aplica-se a

Confira também