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 |
Происходит сразу после выполнения действия отмены. |