WPF DataBinding: Интервал Nullable все еще получает ошибку проверки?

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

Вот мой обязательный код:

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

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

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

47
задан m-y 21 July 2010 в 18:05
поделиться

2 ответа

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

89
ответ дан 26 November 2019 в 19:40
поделиться

Пустое текстовое поле! = Null.

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

0
ответ дан 26 November 2019 в 19:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: