2011-09-03 49 views
0

我想在我的自定義應用程序中使用ICSharpCode.TextEditor顯示代碼來實現撤消/重做功能。ICSharpCode.TextEditor撤銷/重做狀態

TextEditor完全支持撤銷和重做。但不幸的是,控制記錄不完善。目前還不清楚如何檢測撤銷狀態的變化,所以程序可以變灰並重新啓用工具欄上的撤消和重做按鈕。

是否有任何合適的活動可以訂閱?我應該使用EnableUndo和EnableRedo屬性嗎?

回答

3

查看正在編輯的IDocument,而不是TextEditor。確保您使用IDocument方法編輯文檔。您可以使用IDocument.UndoStack.StartUndoGroupIDocument.UndoStack.EndUndoGroup將操作組合在一起。要查看是否有可能,請檢查IDocument.UndoStack是否爲空。