c# - validate - WPF DataBinding: ¿Nullable Int todavía obtiene un error de validación?
validations wpf (2)
Tengo un cuadro de texto de datos enlazados a un código int nullable. Si borro los datos del cuadro de texto me da un error de validación (borde rojo alrededor).
Aquí está mi código de enlace:
ZipBinding = new Binding("Zip");
ZipBinding.Source = Address;
zipTextBox.SetBinding(TextBox.TextProperty, ZipBinding);
public Int32? Zip { get { ... } set { ... } }
Está claramente marcado como Nullable, entonces ¿por qué WPF quiere darme un problema de validación cuando borro el cuadro de texto?
La validación está fallando porque no puede convertir la cadena vacía en un entero que puede contener nulos. Establezca TargetNullValue en string.empty en el enlace y convertirá la cadena vacía en nulo, lo que será válido.
Un TextBox vacío! = Nulo.
Es posible que deba modificar la ValidationRule para acomodar cadenas vacías como entradas. O bien, puede crear un convertidor para tomar cadenas vacías y convertirlas a nulas.