-2

我有与下面链接中相同的问题,但答案对我来说并不令人满意。

ValidationRule ValidatesOnTargetUpdated NullReferenceException 在设计时

XAML

<TextBox x:Name="MyTextBox">
  <TextBox.Text>
    <Binding Path="MyText">
    </Binding>
  </TextBox.Text>
</TextBox>

代码隐藏

Binding binding = BindingOperations.GetBinding(MyTextBox, TextBox.TextProperty);
     binding?.ValidationRules.Add(new MyValidationRule()
      {
        ValidatesOnTargetUpdated = true
      });

它在后面的代码中与此部分一起使用。但我正在寻找一个唯一的 XAML 解决方案,因为它更直观并且对我来说更易于维护。有人有想法吗?

4

1 回答 1

0

我自己找到了一个“解决方案”(或更多的解决方法)。如果我将 ValidatesOnTargetUpdated 更改为 ValidationStep 并使用所需的值,则设计器将为我工作。

注意:例如,如果您输入 ValidationStep="UpdatedValue" 和 ValidationStep="ConvertedProposedValue",则 TextBox 的行为会有所不同。有关ValidationStep="UpdatedValue" 的 ValidationRule 的更多信息是使用 BindingExpression 而不是更新的 value 调用的

但是,我找不到 ValidatesOnTargetUpdated 不起作用的原因。

于 2020-03-10T07:17:26.820 回答