title: How to run a DataTrigger based on if Validation.HasError = False?
body: <p>On my <code>DataGridTextColumn</code> I would like to run a <code>DataTrigger</code> but only when <code>Validation.HasError</code> is <code>False</code></p>
  
  <p>This is what I have at the moment:</p>
  
  <pre><code>&lt;DataGridTextColumn Header="Volts" 
                  Binding="{Binding DcVolts, Converter={StaticResource StringToDecimalConverter}}" 
                  Width="Auto"&gt;
  &lt;DataGridTextColumn.ElementStyle&gt;
      &lt;Style TargetType="{x:Type TextBlock}" 
             BasedOn="{StaticResource DataGridTextColumnElementErrorStyle}"&gt;
          &lt;Style.Triggers&gt;
              &lt;MultiDataTrigger&gt;
                  &lt;MultiDataTrigger.Conditions&gt;
                      &lt;Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=Validation.HasError}" 
                                 Value="False" /&gt;
                      &lt;Condition Value="False"&gt;
                          &lt;Condition.Binding&gt;
                              &lt;MultiBinding Converter="{StaticResource EqualityConverter}"&gt;
                                  &lt;Binding Path="DcVolts" /&gt;
                                  &lt;Binding Path="DcSpecVolts" /&gt;
                              &lt;/MultiBinding&gt;
                          &lt;/Condition.Binding&gt;
                      &lt;/Condition&gt;
                  &lt;/MultiDataTrigger.Conditions&gt;
                  &lt;MultiDataTrigger.Setters&gt;
                      &lt;Setter Property="Background" Value="Orange" /&gt;
                  &lt;/MultiDataTrigger.Setters&gt;
              &lt;/MultiDataTrigger&gt;
          &lt;/Style.Triggers&gt;
      &lt;/Style&gt;
  &lt;/DataGridTextColumn.ElementStyle&gt;
  </code></pre>
  
  <p></p>
  
  <p>The thinking behind is that <code>Validation.HasError</code> has to be <code>False</code> for the <code>MultiDataTrigger</code> to set the <code>BackGround</code> to <code>Orange</code> if the result of the <code>EqualityConverter</code> is <code>False</code></p>
  
  <p>This is because if <code>Validation.HasError</code> is <code>True</code> then I want the usual <code>Pink</code> background that my <code>DataGridTextColumnElementErrorStyle</code> provides when a rule I have set on the <code>Property</code> fails.</p>
  
  <p>I actually got closer with this:</p>
  
  <pre><code>&lt;DataGridTextColumn Header="Volts" 
                  Binding="{Binding DcVolts, Converter={StaticResource StringToDecimalConverter}}" 
                  Width="Auto"&gt;
  &lt;DataGridTextColumn.ElementStyle&gt;
      &lt;Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource DataGridTextColumnElementErrorStyle}"&gt;
          &lt;Style.Triggers&gt;
              &lt;DataTrigger Value="False"&gt;
                  &lt;DataTrigger.Binding&gt;
                      &lt;MultiBinding Converter="{StaticResource EqualityConverter}" &gt;
                          &lt;Binding Path="DcVolts" /&gt;
                          &lt;Binding Path="DcSpecVolts" /&gt;
                      &lt;/MultiBinding&gt;
                  &lt;/DataTrigger.Binding&gt;
                  &lt;Setter Property="Background" Value="Orange" /&gt;
              &lt;/DataTrigger&gt;
              &lt;Trigger Property="Validation.HasError" Value="True"&gt;
                  &lt;Setter Property="Background" Value="Pink" /&gt;
              &lt;/Trigger&gt;
          &lt;/Style.Triggers&gt;
      &lt;/Style&gt;
  &lt;/DataGridTextColumn.ElementStyle&gt;
  </code></pre>
  
  <p></p>
  
  <p>But the problem was that on <code>Validation.HasError</code> the messages provided (by the rules I have created) in the <code>ToolTip</code> where duplicated.</p>
  
  <p>Any advice is greatly appreciated.</p>