当UpdateSourceTrigger是PropertyChanged时,使用StringFormat进行WPF数据绑定

时间:2009-12-23 14:36:12

标签: wpf binding properties string-formatting updatesourcetrigger

我想让用户选中一个特定的字符串,一旦用户跳出控件,即LostFocus,但我更喜欢文本框验证用户类型,因此UpdateSourceTrigger设置为PropertyChanged }。

有没有办法让它在WPF中运行?

看看这个类似的question,但想知道是否有更清洁的解决方案?

我的XAML是:

    <TextBox Text="{Binding Path=MyBindingPath, 
                            StringFormat='\{0} -HELLO',
                            TargetNullValue={x:Static sys:String.Empty},
                            ValidatesOnDataErrors=True,   
                            NotifyOnValidationError=True,    
                            UpdateSourceTrigger=PropertyChanged}"/>

1 个答案:

答案 0 :(得分:1)

您可以将UpdateSourceTrigger设置为Explicit,并且在TextBox的TextChanged事件处理程序中,您可以在执行所需的操作后显式调用UpdateSource。

//write the code you want to run first and then the following code
BindingExpression exp = this.textBox1.GetBindingExpression(TextBox.TextProperty);
exp.UpdateSource();