我有一个
TextBox
在我看来,绑定到一个属性
MyText
在我的视图模型中。我也有一个
ValidationRule
用于输入。
这里是
文本框
在我看来:
<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
我想要什么
那是我的财产吗
我的文字
得到更新,即使输入的文本无效,但是,像我现在所拥有的一样,只有当文本有效时,属性才会得到更新。有什么方法可以做到这一点,即更新属性或访问
文本框
?