gpt4 book ai didi

AvalonEdit::如何在 UndoStack 中保留当前状态?

转载 作者:行者123 更新时间:2023-12-03 23:47:45 27 4
gpt4 key购买 nike

我目前正致力于在 HTML 所见即所得/“源代码”并排编辑器中实现 AvalonEdit。当用户从设计模式 (a RichTextBox ) 切换到源模式 (AvalonEdit TextEditor ) 时,来自 RTB 的 XAML 被转换为 HTML 并写入 TextEditor.Document.Text属性(property)。

这显然会清除撤消堆栈。

如何将文档的状态推送到 UndoStack所以用户可以“回去”?我尝试将写操作包装在 RunUpdate() IDisposable 中,但这不起作用:

using (var _ = TextEditor.Document.RunUpdate())
{
TextEditor.Document.Text = html;
}

任何帮助将不胜感激。

最佳答案

由于这晚了几年,我不确定它是否直接回答了这个问题。然而,当前发布的 AvalonEdit 函数使得设置 TextEditor.Text将清除撤消堆栈,但修改 TextEditor.Document.Text将不会。 (这与提问者观察到的行为背道而驰,因此可能在此后的几年中发生了变化)。看源码,TextEditor.Document.Text似乎执行等效于的代码

this.Replace(0, this.TextLength, value);

所以也许类似的调用甚至可以在旧版本的库上工作。

关于AvalonEdit::如何在 UndoStack 中保留当前状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29616546/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com