目前,我在RichTextBlock
内的ScrollViewer
内显示了很长的文字。
问题是因为ScrollViewer
不支持虚拟化,加载页面需要几秒钟,并且更改字体大小(它是用户的选项)需要很长时间,并且可能甚至导致应用程序崩溃。
我想到的一个解决方案是将RichTextBlock
分解为RichTextBlock
(支持虚拟化)中的一些ListView
。
但这种方法有点问题。我们假设我在RichTextBlock
内显示每500行文字。现在,用户可能想要选择并复制一些文本;虽然它在大多数情况下都能很好地工作,但他永远无法选择第498到503行,因为它们位于两个独立的RichTextBlock
中。
有没有办法解决这种方法中的文本选择问题?或者您可以建议一种更好的实施虚拟化的方法吗?