2011-09-03 48 views
0

我想在我的自定义应用程序中使用ICSharpCode.TextEditor显示代码来实现撤消/重做功能。ICSharpCode.TextEditor撤销/重做状态

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

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

回答

3

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