我想在资源文件中为文本框创建一个样式,我想在其中将每个文本框的NotifyOnError属性设置为true。
我正在使用相同的行为,但我无法做到这一点,
我已经尝试过的代码是:
BindingExpression be = this.AssociatedObject.GetBindingExpression(TextBox.TextProperty);
if (be!=null)
{
Binding b = be.ParentBinding;
Binding newBinding = new Binding()
{
Source = b.Source,
Path = b.Path,
Mode = b.Mode,
NotifyOnValidationError = true
};
BindingOperations.ClearBinding(this.AssociatedObject, TextBox.TextProperty);
BindingOperations.SetBinding(this.AssociatedObject, TextBox.TextProperty, newBinding);
BindingExpression bex = this.AssociatedObject.GetBindingExpression(TextBox.TextProperty);
if (bex != null)
{
bex.UpdateTarget();
}
}
但遗憾的是,我现在没有在文本框中看到任何值。当我调试它时,我发现Source属性为null,同时从旧绑定复制它(请参阅上面的代码)
P.S。如果有人可以给我一个解决方案,我也可以在xaml中工作。