Windows Presentation Foundation vincula los controles de la interfaz directamente con las propiedades del modelo, y las conversiones de tipos personalizadas pasan por la interfaz IValueConverter con sus métodos Convert y ConvertBack, de semántica notoriamente ambigua. El ejemplo oficial de Microsoft convierte un Color en un SolidColorBrush y simplemente devuelve null en ConvertBack, porque la operación inversa no tiene sentido.
El envío de una lectora llamada Fredrika muestra a dónde lleva esto en la práctica. Vincular un cuadro de texto a un campo double? funciona casi solo, salvo que el convertidor integrado de WPF no trata una cadena vacía como null. Un compañero escribió entonces un StringToDoubleConverter: Convert se limita a convertir el valor a double? y devolverlo sin cambios, mientras que ConvertBack toma la cadena del cuadro de texto, comprueba si es string.Empty y devuelve null en ese caso; en caso contrario devuelve la cadena en bruto, dejando el análisis real a los mecanismos internos del framework.
El autor Remy Porter no logra atribuir el WTF a un solo responsable: la API de conversión de WPF le disgusta por principio, esta implementación también, y llamar 'parsed' a ambas variables no aclara nada. Tratar los cuadros de texto vacíos como null probablemente sea correcto aquí, admite, pero sospecha que traerá problemas en el futuro. Su conclusión, sin lazo bonito: sencillamente no le gusta nada de esto.
Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
Esperando tu clic …
·