UndoEngine Класс

Определение

Задает универсальные функции отмены и повтора во время разработки.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Наследование
UndoEngine
Реализации

Комментарии

Абстрактный UndoEngine класс предоставляет реализацию функций отмены по умолчанию во время разработки. Единица отмены представляет одну единицу неуправляемой работы. Эта единица добавляется в стек, а затем пользователь может ходить по стеку, чтобы отменить каждое действие. Единицы отмены обычно предназначены для переключения, что означает, что вызов отмены дважды возвращает приложение в начальное состояние.

Класс UndoEngine использует следующие характеристики объектов, выполняемых в конструкторе:

  • Все интересные объекты можно сохранить в определенном формате загрузчиком конструктора.

  • Все объекты вызывают уведомления об изменении свойств при изменении свойства.

  • IDesignerHost предлагает идею транзакций, которые можно использовать для создания действия отмены, охватывающего несколько небольших действий.

С помощью этих функций можно создать любые единицы отмены, UndoEngine которые он требуется автоматически.

Note

Не изменяйте значения свойств напрямую. Класс UndoEngine должен использовать соответствующие TypeDescriptor значения свойств.

UndoEngine отслеживает уведомления об изменениях для создания единиц отмены и сами единицы состоят из сериализованных состояний объектов. В следующей таблице показаны службы, которые должны быть доступны при UndoEngine создании.

Служба Description
ComponentSerializationService Сохраняет значения свойств и объектов для компонента до и после внесения изменений.
IComponentChangeService Уведомляет подсистему отмены изменений, внесенных в компоненты.
IDesignerHost Используется для отслеживания транзакций.

Note

UndoEngine Так как класс требуется ComponentSerializationService и IComponentChangeServiceон доступен только во время разработки.

Подсистема отмены отслеживает транзакции и создает одну единицу отмены, которая охватывает транзакцию. В результате подсистема отмены управляет длительностью действия отмены. Кроме того, поскольку транзакции могут быть названы, отменяемые действия наследуют их имена от текущей транзакции. Если транзакция недоступна и изменение сообщается, подсистема отмены создает имя отмены на основе типа изменения (например, "Изменить свойство "Text").

Конструкторы

Имя Описание
UndoEngine(IServiceProvider)

Инициализирует новый экземпляр класса UndoEngine.

Свойства

Имя Описание
Enabled

Включает или отключает UndoEngine.

UndoInProgress

Указывает, выполняется ли действие отмены.

Методы

Имя Описание
AddUndoUnit(UndoEngine+UndoUnit)

Добавляется UndoEngine.UndoUnit в стек отмены.

CreateUndoUnit(String, Boolean)

Создает новый UndoEngine.UndoUnitобъект.

DiscardUndoUnit(UndoEngine+UndoUnit)

Отменяет UndoEngine.UndoUnitобъект .

Dispose()

Освобождает все ресурсы, используемые параметром UndoEngine.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые UndoEngine и при необходимости освобождает управляемые ресурсы.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetRequiredService(Type)

Возвращает запрошенную службу.

GetService(Type)

Возвращает запрошенную службу.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnUndoing(EventArgs)

Вызывает событие Undoing.

OnUndone(EventArgs)

Вызывает событие Undone.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

Имя Описание
Undoing

Происходит непосредственно перед выполнением действия отмены.

Undone

Происходит сразу после выполнения действия отмены.

Применяется к

См. также раздел