title: A Usercontrol with just a TextBlock. How do I expose the TextWrapping property to the consumer?
body: <p>I have a minimalist <code>UserControl</code> containing a single <code>TextBlock</code> which I prototype as follows:</p>
  
  <pre><code>&lt;Grid&gt;
      &lt;TextBlock x:Name="textBlockExt" x:FieldModifier="public"/&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <pre><code>public partial class TextBlockExt : UserControl
  {
      public TextBlockExt()
      {
          InitializeComponent();
  
          DataContext = this;
      }
  
      public string Text
      {
          get =&gt; textBlockExt.Text;
          set { textBlockExt.Text = value.ToUpper(); } // to be expanded later
      }
  }
  </code></pre>
  
  <p>I then consume the control by </p>
  
  <pre><code>&lt;Grid&gt;
      &lt;StackPanel&gt;
          &lt;local:TextBlockExt FontSize="30" x:Name="txb" Text="Hello World" TextBlock.TextAlignment="Center"/&gt;
          &lt;Button Content="To Upper" Width="100" Click="Button_Click"/&gt;
      &lt;/StackPanel&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p>And it's code behind is</p>
  
  <pre><code>public MainWindow()
  {
      InitializeComponent();
  
      txb.textBlockExt.TextWrapping = TextWrapping.WrapWithOverflow;
  }
  
  private void Button_Click(object sender, RoutedEventArgs e)
  {
      txb.Text = "one two three four five six seven eight";
  }
  </code></pre>
  
  <p>I don't like the code in the <code>MainWindow</code> constructor above and need to know how to set the T<code>extWrapping</code> in the XAML.</p>