8

Windows 窗体中的 RichTextBox 中似乎有这种ClearUndo()方法(参见system.windows.forms.textboxbase.)。

我需要类似的东西RichTextBox Control。这是因为(正如这里提到的:防止将 RichTextBox 操作添加到控件的撤消堆栈中)每次更改都会添加到 RichTextBox 的撤消堆栈中。

我喜欢覆盖OnTextChanged事件并从 Uno 堆栈中删除其中一些更改。我怎样才能做到这一点?

谢谢。

4

1 回答 1

13

您可以使用以下代码模拟ClearUndo()WPF控件:RichTextBox

richTextBox.IsUndoEnabled = false;
richTextBox.IsUndoEnabled = true;

但是您无法控制列表中的任何特定操作Undo

如果您仍然想实现自己的Undo/Redo机制,最简单和最直接的方法是将控件的整个文本存储在一个数组中,以便在每个重要的文本更改时进行。但我建议只有在您不打算使用控件编辑大文本时才建议这样做。

于 2012-11-22T23:04:39.607 回答