У меня есть MyTextBox, который является производным от TextBox.Я хочу установить параметр привязки ValidatesOnDataErrors = True для TextProperty в MyTextBox, чтобы при каждом использовании этого элемента управления ValidatesOnDataErrors инициализировался с True.
Это мой код:
public class MyTextBox:MyBaseTextBox
{
public MyTextBox()
{
MaxLength = 45;
}
protected override void OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (e.Property == TextProperty)
{
Binding b = BindingOperations.GetBinding(this, TextProperty);
if (b != null)
{
b.ValidatesOnDataErrors = true;
}
}
}
}
И я всегда получаю исключение:
An unhandled exception of type 'System.InvalidOperationException' occurred in PresentationFramework.dll
Additional information: Binding cannot be changed after it has been used.
Я что-то упустил?