我有一个WPF TextBox绑定到对象的(非依赖)属性(实现INotifyPropertyChanged以支持绑定)。
<TextBox x:Name="copyrightsTextBox"
Text="{Binding Path=Copyright, Mode=TwoWay, Converter={StaticResource CopyrightFormattingConverter}, ValidatesOnDataErrors=True}"/>
通过在绑定对象上实现IDataErrorInfo来完成验证。
我想在PropertyChanged上验证,但只能在LostFocus上进行转换。如何做到这一点(因为只能指定一个UpdateSource触发器)。
欢迎任何建议!提前谢谢。
答案 0 :(得分:3)
PropertyChanged
会出现文字,因此您可以处理TextChanged
事件并手动验证。
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
(sender as TextBox).GetBindingExpression(TextBox.TextProperty).ValidateWithoutUpdate();
}