UndoEngine Clase

Definición

Especifica la funcionalidad genérica para deshacer/rehacer en tiempo de diseño.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Herencia
UndoEngine
Implementaciones

Comentarios

La UndoEngine clase abstracta proporciona una implementación predeterminada de la funcionalidad de deshacer en tiempo de diseño. Una unidad de deshacer representa una sola unidad de trabajo que se puede deshacer. Esta unidad se agrega a una pila y el usuario puede recorrer la pila para deshacer cada acción. Normalmente, las unidades de deshacer están diseñadas para alternar, lo que significa que llamar a deshacer dos veces devuelve la aplicación a su estado inicial.

La UndoEngine clase aprovecha las siguientes características de los objetos que se ejecutan en el diseñador:

  • El cargador del diseñador puede conservar todos los objetos interesantes en algún formato.

  • Todos los objetos generan notificaciones de cambio de propiedad cuando se cambia una propiedad.

  • IDesignerHost ofrece la idea de las transacciones, que se pueden usar para fabricar una acción de deshacer que abarca varias acciones más pequeñas.

Con estas características, UndoEngine puede fabricar cualquier unidad de deshacer que necesite automáticamente.

Nota

No cambie los valores de propiedad directamente. La UndoEngine clase requiere que use el adecuado TypeDescriptor para cambiar los valores de propiedad.

UndoEngine supervisa las notificaciones de cambio para crear unidades de deshacer y las propias unidades constan de estados de objeto serializados. En la tabla siguiente se muestran los servicios que deben estar disponibles cuando UndoEngine se crean.

Servicio Descripción
ComponentSerializationService Guarda los valores de propiedad y objeto de un componente antes y después de realizar un cambio.
IComponentChangeService Notifica al motor de deshacer los cambios realizados en los componentes.
IDesignerHost Se usa para realizar un seguimiento de las transacciones.

Nota

Dado que la UndoEngine clase requiere ComponentSerializationService y IComponentChangeService, solo está disponible en tiempo de diseño.

El motor de deshacer realiza un seguimiento de las transacciones y crea una sola unidad de deshacer que abarca una transacción. Como resultado, el motor de deshacer tiene control sobre la duración de una acción que se puede deshacer. Además, dado que las transacciones se pueden denominar, las acciones que se pueden deshacer heredan sus nombres de la transacción actual. Si no hay ninguna transacción disponible y se notifica un cambio, el motor de deshacer crea un nombre de deshacer basado en el tipo de cambio (por ejemplo, "Cambiar propiedad 'Text'").

Constructores

UndoEngine(IServiceProvider)

Inicializa una nueva instancia de la clase UndoEngine.

Propiedades

Enabled

Habilita o deshabilita el objeto UndoEngine.

UndoInProgress

Indica si está en curso una acción de deshacer.

Métodos

AddUndoUnit(UndoEngine+UndoUnit)

Agrega un objeto UndoEngine.UndoUnit a la pila para deshacer.

CreateUndoUnit(String, Boolean)

Crea un nuevo UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

Descarta un objeto UndoEngine.UndoUnit.

Dispose()

Libera todos los recursos que usa UndoEngine.

Dispose(Boolean)

Libera los recursos no administrados que usa UndoEngine y, de forma opcional, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetRequiredService(Type)

Obtiene el servicio solicitado.

GetService(Type)

Obtiene el servicio solicitado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnUndoing(EventArgs)

Genera el evento Undoing.

OnUndone(EventArgs)

Genera el evento Undone.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Undoing

Se produce inmediatamente antes de que se realice una acción de deshacer.

Undone

Se produce inmediatamente después de que se realice una acción de deshacer.

Se aplica a

Consulte también