有关从TryGetHistory返回的ITextUndoHistory的问题

时间:2010-05-31 23:06:50

标签: visual-studio-2010

每当IWpfTextView的TextBuffer发生变化时,我都会尝试获取历史记录的redostack和undostack,并简单地检查计数。执行此操作时,我在尝试访问两个堆栈时遇到“方法不支持的异常”。

我是否错误地检索了历史记录,或者VS不希望我看到/编辑堆栈的内容?

我可以在必要时发布代码......

谢谢,    尼克

1 个答案:

答案 0 :(得分:2)

这可能是因为VS中的编辑器撤消历史记录实现是一般VS撤消历史记录之上的薄包装器。我猜在编辑器的文本撤消历史记录中没有实现Count,因为VS撤消历史记录上没有实现(IOleUndoManager仅支持枚举,因此实现Count会很贵)。

但是,一般情况下, 希望您编辑堆栈的内容。如果撤消堆栈与文本缓冲区不同步,它将基本上破坏撤消并使小型,可爱的动物哭泣。

如果你描述你想要做的事情可能会有所帮助,然后我可以为如何实现这一目标提供更好的答案。