title: Custom validation: returning ValidationResult(true, null) still fails validation
body: <p>I'm entering a value that passes my custom validation check, yet WPF still comes up with a fail message:</p>
  
  <p><a href="https://i.stack.imgur.com/ZA7aP.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ZA7aP.png" alt="enter image description here"></a></p>
  
  <p>Validation code parses the percentage, converts to a double. Using the debugger, I can step through and everything works fine. For a value of "50 %" it parses 0.5, steps through and gets to the last line <code>return new ValidationResult(true, null);</code></p>
  
  <p>However, it still causes a failed validation, with a default message "Value '50 %' could not be converted.".</p>
  
  <pre><code>    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
      {
          double valueToValidate = 0;
  
          try
          {
              string trimmed = (value as string).TrimEnd(new char[] { '%', ' ' });
              valueToValidate = Double.Parse(trimmed) / 100;
          }
          catch (Exception e)
          {
              return new ValidationResult(false, "Illegal characters or " + e.Message);
          }
  
          if ((valueToValidate &lt; Min) || (valueToValidate &gt; Max))
          {
              return new ValidationResult(false,
                "Please enter a value in the range: " + Min + " - " + Max + ".");
          }
          else
          {
              return new ValidationResult(true, null);
          }
      }
  </code></pre>
  
  <p><strong>xaml:</strong></p>
  
  <pre><code>                        &lt;TextBox Grid.Column="2" Width="45"&gt;
                              &lt;TextBox.Text&gt;
                                  &lt;Binding Path="AppController.Zoom" StringFormat="{}{0:P0}"&gt;
                                      &lt;Binding.ValidationRules&gt;
                                          &lt;helpers:MinMaxPercentageValidationRule Min="0.4" Max="2"/&gt;
                                      &lt;/Binding.ValidationRules&gt;
                                  &lt;/Binding&gt;
                              &lt;/TextBox.Text&gt;
                          &lt;/TextBox&gt;
  </code></pre>
  
  <p>The failure states work fine, prompting with the appropriate message. It just seems to be the </p>