0

I need to create a windows store application with e reader functionality. I have to provide a fluid reading experience. Currently, my knowledge of displaying text consists of dropping textblock or textbox on the UI. I do not know how to display large amount of text to create the E Reader experience i am looking for. Which control or combination of controls should i use?

yohannist
  • 4,166
  • 3
  • 35
  • 58

1 Answers1

1

Your text rendering options are

XAML controls

  • TextBlock
  • RichTextBlock
  • WebView + WebViewBrush

DirectWrite - what all the above ultimately use. You can use it with C# through SharpDX.

The controls might be a bit cumbersome to use at times if you need to do measurements etc. and might not give you as much power or performance as DirectWrite does, but will give you support for text selection, copying to clipboard etc. (make sure IsTextSelectionEnabled is set to true).

For measuring text dimensions for paged display in a TextBlock - create a TextBlock in code behind and call Measure() and Arrange(), then get ActualWidth/ActualHeight to get the measurement.

Read Charles Petzold's Principles of Pagination article.

Consider Rapid Serial Visual Presentation (RSVP) speed-reading method used in the ReadQuick app.

Community
  • 1
  • 1
Filip Skakun
  • 31,624
  • 6
  • 74
  • 100