title: WPF refactor duplicate DataGridTemplate
body: <p>I am setting up some of my datagrid columns to be wrappable and have a lot of duplicate code below. Im looking to extract this to a style and then perhaps define this at the DataGridTextColumn level but am not able to define the textbox, only the header. What I tried which is incomplete and does not allow me to find the column values to wrap:</p>
  
  <pre><code>    &lt;Style x:Key="GridColumnWrap" TargetType="DataGridColumnHeader"&gt;
          &lt;Setter Property="TextBlock.Text" Value="{Binding Value}" /&gt;
      &lt;/Style&gt;
  </code></pre>
  
  <p>Current XAML layout:</p>
  
  <pre><code>    &lt;DataGrid.Columns&gt;
          &lt;DataGridTextColumn Header="Key" Binding="{Binding Key}" /&gt;
          &lt;DataGridTemplateColumn&gt;
              &lt;DataGridTemplateColumn.Header&gt;
                  &lt;TextBlock Text="Summary" /&gt;
              &lt;/DataGridTemplateColumn.Header&gt;
              &lt;DataGridTemplateColumn.CellTemplate&gt;
                  &lt;DataTemplate&gt;
                      &lt;TextBox Text="{Binding Summary}" TextWrapping="Wrap"/&gt;
                  &lt;/DataTemplate&gt;
              &lt;/DataGridTemplateColumn.CellTemplate&gt;
          &lt;/DataGridTemplateColumn&gt;
          &lt;DataGridTemplateColumn&gt;
              &lt;DataGridTemplateColumn.Header&gt;
                  &lt;TextBlock Text="Description" /&gt;
              &lt;/DataGridTemplateColumn.Header&gt;
              &lt;DataGridTemplateColumn.CellTemplate&gt;
                  &lt;DataTemplate&gt;
                      &lt;TextBox Text="{Binding Description}" TextWrapping="Wrap"/&gt;
                  &lt;/DataTemplate&gt;
              &lt;/DataGridTemplateColumn.CellTemplate&gt;
          &lt;/DataGridTemplateColumn&gt;
          &lt;DataGridTextColumn Header="Status" Binding="{Binding Status}" /&gt;
          &lt;DataGridTextColumn Header="Resolution" Binding="{Binding Resolution}" /&gt;
      &lt;/DataGrid.Columns&gt;
  </code></pre>