Подтвердить что ты не робот

WPF DataBinding: Nullable Int по-прежнему получает ошибку проверки?

У меня есть привязка данных в текстовом поле к обнуляемому int через код. Если я удалю данные из текстового поля, это даст мне ошибку проверки (красная рамка вокруг него).

Вот мой код привязки:

ZipBinding = new Binding("Zip");
ZipBinding.Source = Address;
zipTextBox.SetBinding(TextBox.TextProperty, ZipBinding);

public Int32? Zip { get { ... } set { ... } }

Он четко обозначен как Nullable, так почему WPF хочет дать мне вопрос проверки, когда я очищаю текстовое поле?

4b9b3361

Ответ 1

Валидация терпит неудачу, поскольку она не может преобразовать пустую строку в нулевое целое число. Установите TargetNullValue в string.empty на Binding, и он преобразует пустую строку в нуль, которая будет действительна.

Ответ 2

Пустой TextBox!= null.

Возможно, вам придется подстроить ValidationRule для размещения пустых строк в качестве записей. Или вы можете создать конвертер, чтобы принимать пустые строки и преобразовывать их в null.