ICSharpCode.TextEditor撤消/重做状态

时间:2011-09-03 14:00:51

标签: c# .net undo-redo icsharpcode text-editor

我正在尝试在使用ICSharpCode.TextEditor显示代码的自定义应用程序中实现撤消/重做功能。

TextEditor完全支持撤消和重做。但不幸的是,控制记录很差。目前尚不清楚如何检测撤消状态的变化,因此程序可以灰显并重新启用工具栏上的撤消和重做按钮。

我可以订阅任何合适的活动吗?我应该使用EnableUndo和EnableRedo属性吗?

1 个答案:

答案 0 :(得分:4)

查看正在修改的IDocument,而不是TextEditor。确保使用IDocument方法编辑文档。您可以使用IDocument.UndoStack.StartUndoGroupIDocument.UndoStack.EndUndoGroup将操作组合在一起。要查看是否有可能,请检查IDocument.UndoStack是否为空。