title: WPF custom string display, without changing original string
body: <p>Imagine a string that looks like this:</p>
  <pre><code>01 02 03 04 05 06 07 08 09
  </code></pre>
  <p>What I would like to do is display this string in a <code>label</code>, or <code>TextField</code>, or any other kind of viewable element, but control how the string is displayed, without modifying the string itself.  So in this case, the way I want it to look is:</p>
  <pre><code>01 02 03 04    05 06 07 08    09
  </code></pre>
  <p>Now I could create a copy of the string, with spaces, or tabs inserted, but this will require modifying the string, I do not wish to do that.  I'm looking for a way to control how the string is displayed/rendered.</p>
  <p>Can anyone offer any suggestions on how to achieve this?</p>
  <p><strong>Update</strong></p>
  <p>To offer a little bit more information, I'm looking for a way to modify the rendering of the string, as such I've achieved what I wanted using a <code>GlyphRun</code>, but this renders the text as a drawing, and as such the text is no longer selectable, or interactable.</p>
  <p>The <code>GlyphRun</code> allows me to modify the <code>AdvanceWidths</code>, so that individual characters can extra space after them, which gives the spacing I need.</p>
  <p>Is there anyway to use a <code>GlyphRun</code> within a <code>TextBox</code>, or similar?</p>