首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何挂起Avalonedit的Undo堆栈?

如何挂起Avalonedit的Undo堆栈?
EN

Stack Overflow用户
提问于 2011-09-28 11:05:11
回答 1查看 1.4K关注 0票数 5
  • I在编辑器
  • 上执行大量的文本更改,我无法(或非常困难)确定更改何时开始结束(文本更改是通过滚动发布的)
  • ,我不想撤消更改

出于这个原因,我想挂起对堆栈的监听(或者在任何文本更改之后执行弹出)。但

在不执行撤销completly

  • there´s

  • 的情况下,堆栈不提供弹出堆栈元素的方法,我不想清除堆栈,no方法,将堆栈从textdocument
  • there´s no方法中分离出来,以挂起侦听的

你知道解决这个问题的可能性吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-28 16:59:38

您希望撤销堆栈不记录某些更改,但也不希望被清除?这意味着撤销堆栈的内容可能与文档内容不一致--当用户然后按撤销时,它可能最终会崩溃或更改预期位置以外的文本。

因此,AvalonEdit不支持此操作。我们非常努力地避免不一致的撤销堆栈--例如,不允许重新进入更新(在TextDocument.Changed事件处理程序中更改文档)。

最接近禁用撤销堆栈的方法是设置

代码语言:javascript
复制
document.UndoStack.SizeLimit = 0;

这将有效地禁止侦听更改,但也会清除撤销堆栈。

顺便提醒一下:可以“分离”撤消堆栈(通过将document.UndoStack设置为另一个撤消堆栈),但这也将清除旧的撤消堆栈。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7582234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档