title: Change background color of ColumnHeaderStyle based on selection in datagrid
body: <p>I figured out how to highlight the row of interest.  I can get the index of the column I am interested in and use ScrollIntoView in order to jump to it.  However, it doesn't immediately pop out to the user.  I'd like to highlight the column, or change the ColumnHeaderStyle.  I can't seem to figure out how to do it in the xaml or code behind.  </p>
  
  <p>The other alternative is to not highlight the entire row, and column header, but just the cell of interest.  I'd rather do that, but couldn't figure that out.</p>
  
  <p>My current DataGrid looks like this:</p>
  
  <pre><code>&lt;DataGrid x:Name="dtGridReads"  AutoGenerateColumns="False" 
              VirtualizingStackPanel.IsVirtualizing="True"                                       
              VirtualizingStackPanel.VirtualizationMode ="Standard" 
                EnableColumnVirtualization="True"
                EnableRowVirtualization="True"
              ScrollViewer.IsDeferredScrollingEnabled="True"
              CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserSortColumns="True"
               ItemsSource ="{Binding}" Block.TextAlignment="Center"
               AlternatingRowBackground="#F1F1F1" RowBackground="White"
                CanUserAddRows="False" CanUserDeleteRows="False" FrozenColumnCount="1"
                 GridLinesVisibility="None"                   ScrollViewer.ScrollChanged="dtGridReads_ScrollChanged"&gt;
  
      &lt;DataGrid.CellStyle&gt;
          &lt;Style TargetType="{x:Type DataGridCell}"&gt;
              &lt;Style.Triggers&gt;
                  &lt;Trigger Property="DataGridCell.IsSelected" Value="True"&gt;
                      &lt;Setter Property="Background" Value="red" /&gt;
                      &lt;Setter Property="BorderThickness" Value="0" /&gt;
                  &lt;/Trigger&gt;
              &lt;/Style.Triggers&gt;
          &lt;/Style&gt;
      &lt;/DataGrid.CellStyle&gt;
  </code></pre>
  
  <p>My code behind:</p>
  
  <pre><code>    public void ShowSelectedCell(int row, int column)
      {
          //dtGridReads.SelectedItem = dtGridReads.Items[row];
          //dtGridReads.SelectedItem = dtGridReads.Columns[column];
          //dtGridReads.CurrentColumn = dtGridReads.Columns[column];
          dtGridReads.ScrollIntoView(dtGridReads.Items[row], dtGridReads.Columns[column]);
  
      }
  </code></pre>
  
  <p>thanks.</p>