У меня есть TextBox
в моем представлении, привязанное к свойству MyText
в моей модели представления. У меня также есть ValidationRule
для ввода.
Вот TextBox
в моем представлении:
<TextBox>
<TextBox.Text>
<Binding Path="MyText"
UpdateSourceTrigger="PropertyChanged"
Mode="TwoWay"
ValidatesOnNotifyDataErrors="True"
ValidatesOnDataErrors="True"
NotifyOnValidationError="True">
<Binding.ValidationRules>
<local:FormulaValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
А вот мой класс проверки:
Public Class MyTextValidationRule
Inherits ValidationRule
Public Overrides Function Validate(value As Object, cultureInfo As CultureInfo) As ValidationResult
Dim validationRes = MyParser.ValidateText(value)
If validationRes Then
Return ValidationResult.ValidResult
Else
Return New ValidationResult(False, "Input is not valid")
End If
End Function
End Class
Что я хочу - это то, что мое свойство MyText
обновляется, даже если введенный текст недействителен, однако, как и то, что у меня есть сейчас, свойство обновляется только в том случае, если текст действителен. Есть ли способ сделать это, то есть обновить свойство или получить доступ к тексту моего TextBox
?