Ошибка DesignTime Wpf ValidatesOnTargetUpdated NullReferenceException - PullRequest
0 голосов
/ 06 марта 2020

У меня тот же вопрос, что и в ссылке ниже, но ответы там, где я не удовлетворяю.

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, потому что оно более интуитивно понятно и лучше для меня. У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 10 марта 2020

Я нашел «решение» (или более обходной путь) самостоятельно. Дизайнер работает для меня, если я изменяю ValidatesOnTargetUpdated на ValidationStep с желаемым значением.

Внимание: например, TextBox ведет себя по-разному, если вы введете ValidationStep = "updatedValue" и ValidationStep = "ConvertedProposedValue". Дополнительная информация о ValidationRule с ValidationStep = "updatedValue" вызывается с BindingExpression вместо обновленного значения .

Однако я не смог найти, почему ValidatesOnTargetUpdated не работал.

...