title: Long RichTextBlock inside a ScrollViewer, how to implement virtualization?
body: <p>Currently, I'm showing a really long text inside a <code>RichTextBlock</code> inside a <code>ScrollViewer</code>.</p>
  
  <p>The problem is since <code>ScrollViewer</code> doesn't support virtualization, loading the page takes a few seconds, and changing font size (it's an option for the user) takes a long time and may even cause the app to crash.</p>
  
  <p>One solution came to my mind is to break <code>RichTextBlock</code> to a number of <code>RichTextBlock</code>s inside a <code>ListView</code> (which supports Virtualization).</p>
  
  <p>But this approach has a little problem. Let's say I show each 500 lines of text inside a <code>RichTextBlock</code>. Now, the user may want to select and copy some text; while it'll work well in most cases, but he'll never be able to select lines 498 to 503, because they are in two separate <code>RichTextBlock</code>s.</p>
  
  <p>Is there any way to fix the text selection issue in this approach? Or can you suggest a better way for implementing virtualization?</p>