【发布时间】:2014-08-15 20:32:40
【问题描述】:
我正在开发一个聊天应用程序。有一个滚动查看器,其中包含一个富文本框,其中包含一个流文档,其中包含其块中的段落。 现在,当添加新消息时,滚动查看器会正确向下滚动其内容(当滚动条位于底部时自动滚动)。流文档在向下滚动到底部时始终最多包含 100 个段落。 (当有新消息到达时,顶部的旧段落将被删除。)
我想补充的是,当我将滚动查看器向上滚动到顶部时,我想加载较旧的消息(一种 Facebook 风格)。当我滚动到顶部时,旧消息已正确加载,但我希望在加载旧消息之前最顶部的段落仍将显示在顶部。为此,我认为我需要计算该段落的新位置并将滚动查看器的垂直偏移设置为该段落的 Y 坐标。 (加载新消息后,滚动查看器仍会向上滚动到其顶部。)
但是插入旧消息后如何检测该段落在哪里?
【问题讨论】:
-
只需在元素上调用 BringIntoView() 即可。
-
这是您要搜索的内容吗? stackoverflow.com/questions/12299739/…
标签: c# wpf offset scrollviewer flowdocument