Мне связали с данными текстовое поле к nullable интервалу через код. Если я стираю данные из текстового поля, это дает мне ошибку проверки (красная граница вокруг этого).
Вот мой обязательный код:
ZipBinding = new Binding("Zip");
ZipBinding.Source = Address;
zipTextBox.SetBinding(TextBox.TextProperty, ZipBinding);
public Int32? Zip { get { ... } set { ... } }
Это ясно отмечено как Nullable итак, почему делает WPF, хотят дать мне проблему проверки, когда я очищаю текстовое поле?
Валидация завершается неудачно, поскольку не удается преобразовать пустую строку в целое число с нулевым значением. Установите TargetNullValue в string.empty на Binding, и он преобразует пустую строку в null, который будет действительным.
Пустое текстовое поле! = Null.
Возможно, вам придется настроить ValidationRule, чтобы использовать пустые строки в качестве записей. Или вы можете создать конвертер, который будет принимать пустые строки и преобразовывать их в null.