2012-11-22 53 views
7

似乎Windows窗體中的RichTextBox中存在此ClearUndo()方法(請參見system.windows.forms.textboxbase.)。如何從RichTextBox控件的撤消堆棧中移除操作?

我需要在RichTextBox Control中有類似的東西。這是因爲(因爲它在這裏提到:Preventing a RichTextBox operation from being added to the control's Undo stack)每個更改都添加到RichTextBox的撤消堆棧。

我喜歡重寫OnTextChanged事件並從Uno堆棧中刪除其中一些更改。我怎樣才能做到這一點?

謝謝。

回答

11

可以爲WPF RichTextBox控制與下面的代碼模擬ClearUndo()

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

但有沒有辦法可以控制在Undo列表中的任何特殊行動。

如果你仍然想實現你自己的Undo/Redo機制,最簡單也最直接的方法就是將每個重要文本變化的控件的整個文本存儲在數組中。但是,只有在您不打算使用該控件編輯大文本時,我纔會提醒您。