Бөлісу құралы:


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 можно автоматически создать любые необходимые единицы отмены.

Примечание

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

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

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

Примечание

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

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

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

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

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

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

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