1

一旦用户退出控件,即LostFocus,我希望有一个文本框附加一个特定的字符串,但是我更喜欢文本框在用户键入时进行验证,因此UpdateSourceTrigger设置为PropertyChanged.

有没有办法让它在 WPF 中工作?

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

我的 XAML 是:

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

1 回答 1

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();
于 2009-12-23T17:06:23.260 回答