John Sonmez has published a very good article in which he tells us why he thinks JavaScript is a bubble that will eventually pop.
http://simpleprogrammer.com/2013/05/06/why-javascript-is-doomed/
Don’t leave it unread!
John Sonmez has published a very good article in which he tells us why he thinks JavaScript is a bubble that will eventually pop.
http://simpleprogrammer.com/2013/05/06/why-javascript-is-doomed/
Don’t leave it unread!
Los ComboBox, las ListBox y toda esa recua de controles tan útiles son unas verdaderas bestias. En realidad, todos los ItemsControl son tan bellos como complejos.
No entender qué cojopios hacen es una de las razones por la que creamos chorricode totalmente vomitivo. “ItemsControl”, quédate con el nombre. ¡Hay que estudiárselos bien!
A nivel de usuario hay básico entender este par de propiedades:
El elemento enlazado con el “binding” puede no existir en la lista. Si esto se produce, visualmente no se seleccionará NADA. Es decir, ningún elemento se marcará.
IMPORTANTE: Para que la cosa funcione es imprescindible sobreescribir los métodos Equals en los elementos que vayan a ser representados en el ItemsControl. Es lógico, puesto que, ¿cómo va a saber sino cuál elemento se selecciona de la lista si no existe una manera de comprobar cuándo son el mismo elemento?
WARNING: El método Equals por defecto compara referencias, por lo que si son la misma referencia, el SelectedItem furrula fairly good, pero cuando la instancia te la sacas tú de la manga, haces un clone y vete tú a saber qué historias, el Equals es obligatorio si quieres que todo se sincronice solito.
¡Esos Equals tan impopulares a los que nadie les hace caso son importantísimos! Úsalos o tendré que sacar el látigo de dar.