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由于 类需要 ComponentSerializationServiceIComponentChangeService,因此它仅在设计时可用。

撤消引擎跟踪事务并创建包含事务的单个撤消单元。 因此,撤消引擎可以控制可撤消操作的持续时间。 此外,由于事务可以命名,因此可撤消操作会从当前事务继承其名称。 如果没有可用的事务并且报告了更改,则撤消引擎会根据更改类型创建一个撤消名称 (例如,“更改属性'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

在执行撤消操作之后立即发生。

适用于

另请参阅