title: Bookmarking WPF's FlowDocumentReader
body: <p>I'm trying to save and restore the position of the document within a FlowDocumentReader to create a bookmark feature. There doesn't appear to be any seeking or search feature build in that is publicly accessible, leaving me with the following options:</p>
  
  <ol>
  <li><p>Use FlowDocumentPageViewer instead,
  saving the page each time the window
  is resized and restoring it as soon
  as the app is reloaded.</p></li>
  <li><p>Loop through all the elements in the
  Document property of
  FlowDocumentReader, looking for the
  first one that passes an on-screen
  hit test, then using reflection to
  use the internal search features to
  bring that text back into view at a
  later time.</p></li>
  <li><p>Serialize the entire control.</p></li>
  <li><p>Write my own document viewer control.</p></li>
  </ol>
  
  <p>No. 1 is annoying because I'd have to forfeit the two-page and scroll viewing options of FlowDocumentReader. It also means seeking to the saved page before the user has a chance to resize the window. This is fragile and would probably break if the user say, switched resolutions between sessions.</p>
  
  <p>No. 2 is a garish hack that would probably work, but be slow and break completely if the internals ever change.</p>
  
  <p>No. 3 is looking like my best bet, but it only lets me save/restore the current position, not set arbitrary bookmarks.</p>
  
  <p>No. 4 is just too much work. These controls are utterly <em>fantastic,</em> I just need this one feature...</p>
  
  <p>Is there any other way to go about this? </p>