ICSharpCode.TextEditor отменить / повторить состояние - PullRequest
0 голосов
/ 03 сентября 2011

Я пытаюсь реализовать функцию отмены / возврата в моем пользовательском приложении, которое отображает код с помощью ICSharpCode.TextEditor.

TextEditor полностью поддерживает отмену и повтор. Но, к сожалению, контроль плохо документирован. Непонятно, как обнаружить изменение состояния отмены, поэтому программа может выделиться серым цветом и снова включить кнопки отмены и возврата на панели инструментов.

Есть ли подходящее событие, на которое я могу подписаться? Должен ли я использовать свойства EnableUndo и EnableRedo?

1 Ответ

4 голосов
/ 03 сентября 2011

Проверьте редактируемый IDocument, а не TextEditor. Убедитесь, что вы редактируете документ, используя IDocument методы. Вы можете группировать действия вместе, используя IDocument.UndoStack.StartUndoGroup и IDocument.UndoStack.EndUndoGroup. Чтобы узнать, возможны ли отмены, вы можете проверить, является ли IDocument.UndoStack пустым.

...