由于这个原因我想暂停监听堆栈(或者在任何textchange之后执行pop)。但
答案 0 :(得分:8)
您希望撤消堆栈不记录某些更改,但是也不想将其清除? 这意味着撤销堆栈的内容可能与文档内容不一致 - 当用户按下撤消时,它可能最终崩溃或更改除预期位置之外的文本。
因此,AvalonEdit不支持此操作。
我们非常努力地避免不一致的撤销堆栈 - 例如,不允许重新更新(在TextDocument.Changed
事件处理程序中更改文档)。
最接近禁用撤消堆栈的是设置
document.UndoStack.SizeLimit = 0;
这将有效地禁用侦听更改,但它也会清除撤消堆栈。
作为旁注:可以“分离”撤销堆栈(通过将document.UndoStack
设置为另一个撤消堆栈),但这也将清除旧的撤消堆栈。