title: Stop a DataGridCell from losing focus if there is an error and get error template on the DataGridCell?
body: <p>Is it possible to stop a <code>DataGridCell</code> in editing mode with a validation error--caused by an exception in the bound object's property setter--from losing focus until the user either a) corrects that error, or b) reverts their changes by pressing 'Esc'?</p>
  
  <p>Also, while I can show a validation template for the row, I can't seem to get it to fire for the DataGridCell itself. </p>
  
  <p>Here's our test styles. This works...</p>
  
  <pre><code>&lt;Style TargetType="{x:Type DataGridRow}"&gt;
  
      &lt;Style.Triggers&gt;
  
          &lt;Trigger Property="Validation.HasError" Value="True"&gt;
              &lt;Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/&gt;
              &lt;Setter Property="Background" Value="Yellow"/&gt;
          &lt;/Trigger&gt;
  
      &lt;/Style.Triggers&gt;
  
  &lt;/Style&gt;
  </code></pre>
  
  <p>This Doesn't...</p>
  
  <pre><code>&lt;Style TargetType="{x:Type DataGridCell}"&gt;
  
      &lt;Style.Triggers&gt;
  
          &lt;Trigger Property="Validation.HasError" Value="True"&gt;
              &lt;Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/&gt;
              &lt;Setter Property="Background" Value="Green"/&gt;
          &lt;/Trigger&gt;
  
      &lt;/Style.Triggers&gt;
  
  &lt;/Style&gt;
  </code></pre>
  
  <p>Here are our columns:</p>
  
  <pre><code>&lt;DataGrid.Columns&gt;
  
      &lt;DataGridTextColumn x:Name="NameColumn"
          Header="Name"
          Binding="{Binding Name, ValidatesOnExceptions=True, ValidatesOnDataErrors=True}"
          Width="*" /&gt;
  
      &lt;DataGridTextColumn x:Name="ValueColumn"
          Header="Value"
          Binding="{Binding Value, ValidatesOnExceptions=True, ValidatesOnDataErrors=True}"
          Width="*" /&gt;
  
  &lt;/DataGrid.Columns&gt;
  </code></pre>