En serio, parece que cada vez que quiero hacer que mis elementos de interfaz de usuario hablen entre sí, termino codificando un nuevo IValueConverter :(. Alguien me dice que lo estoy haciendo mal, por favor!¿Soy solo yo o WPF es un desastre de enlaces de datos y IValueConverters personalizados?
Ejemplos:.!
- quería un botón para habilitar únicamente si mi cuadro de texto contenía una URI válida Genial, es momento de codificar un
UriIsValidConverter
- Ah perdón, quiero también querían desactivarlo mientras estoy procesando algo. Supongo que ahora necesito codificar un
UriIsValidAndBoolIsFalseMultiConverter
! - Quiero t para mostrar una lista de archivos en un directorio determinado (especificado por un cuadro de texto) dentro de un cuadro de lista. ¡Creo que necesito un convertidor
DirectoryPathToFileList
! - Oh hola, quiero iconos para cada uno de esos archivos en la lista. ¡Tiempo para un convertidor
FileInfoToBitmap
! - Quiero que mi estado sea rojo si mi cadena de estado contiene "Error", y verde de lo contrario. ¡Sí, tengo que codificar un
StatusStringToSolidColorBrushConverter
!
Realmente estoy pensando que esto no es mucho mejor que el antiguo método de Windows Forms de simplemente conectar todo manualmente usando eventos TextChanged
(o lo que sea). Lo cual supongo que todavía es una opción. ¿Es eso lo que la gente realmente hace, tal vez, y estoy tratando demasiado para que todo encaje en el paradigma de la vinculación de datos?
Así que sí, por favor díganme si esta es realmente la forma en que WPF es la codificación --- o si lo estoy haciendo mal, y si es así, lo que debería estar haciendo.
Más cerca probablemente respondía al nivel de frustración en la pregunta de este tipo. La forma en que lo haces parece muy frustrante. Es por eso que debes verificar MVVM. Toma la frustración directamente. – Will