title: Making a WPF DataGrid repeat Column Headers under each group header
body: <p>I'm using grouping in WPF (via PropertyGroupDescription in a CollectionViewSource) and displaying the grouped collection in a bound DataGrid.</p>
  
  <p>Typically (as in <a href="http://msdn.microsoft.com/en-us/library/ff407126.aspx" rel="nofollow">this MSDN Example</a>) such a DataGrid will display the column headers, followed by each group header (defined in the GroupStyle.Containerstyle), followed by the rows of data in the given group.  Here's a quick visual:</p>
  
  <pre>
   +=====================================================+
   |  ColumnHeader1  |  ColumnHeader2  |  ColumnHeader3  |
   +-----------------+-----------------+-----------------+
   |  Group A                                            |
   +-----------------------------------------------------+
   |   A_Value_11    |   A_Value_12    |   A_Value_13    |
   +-----------------------------------------------------+
   |   A_Value_21    |   A_Value_22    |   A_Value_23    |
   +-----------------+-----------------+-----------------+
   |  Group B                                            |
   +-----------------------------------------------------+
   |   B_Value_11    |   B_Value_12    |   B_Value_13    |
   +-----------------------------------------------------+
   |   B_Value_21    |   B_Value_22    |   B_Value_23    |
   +=====================================================+
  </pre>
  
  <p>Is there a way to make the DataGrid column headers appear/repeat after every group header?</p>
  
  <p>Visually, this is more like what I want:</p>
  
  <pre>
   +=====================================================+
   |  Group A                                            |
   +-----------------------------------------------------+
   |  ColumnHeader1  |  ColumnHeader2  |  ColumnHeader3  |
   +-----------------------------------------------------+
   |   A_Value_11    |   A_Value_12    |   A_Value_13    |
   +-----------------------------------------------------+
   |   A_Value_21    |   A_Value_22    |   A_Value_23    |
   +-----------------+-----------------+-----------------+
   |  Group B                                            |
   +-----------------------------------------------------+
   |  ColumnHeader1  |  ColumnHeader2  |  ColumnHeader3  |
   +-----------------------------------------------------+
   |   B_Value_11    |   B_Value_12    |   B_Value_13    |
   +-----------------------------------------------------+
   |   B_Value_21    |   B_Value_22    |   B_Value_23    |
   +=====================================================+
  </pre>
  
  <p>Is it possible to do that without too much trouble?</p>