Pregunta

Tengo una vista de árbol con varios artículos. Los elementos se diseñan de manera que la propiedad iselectada esté vinculada a mi VM a una bool isleed.

Cada vez que hago clic en un elemento de vista de árbol, esta propiedad VM se llama dos veces, primero con valor == falso y luego con valor == verdadero.

Supongo que este es un comportamiento normal, pero no estoy seguro de por qué, dado que tengo la propiedad ISSperada en la misma manera, y solo se me llama una vez.

Gracias

¿Fue útil?

Solución

Sospecho que la razón es que cuando selecciona un elemento, primero el elemento anterior está deseleccionado, entonces se selecciona el nuevo elemento. Esto da como resultado una primera llamada de falso y un segundo de verdad.

Quizás al depurar, verifique un nombre de pantalla o una propiedad similar en su modelo de vista, para ver qué elementos se están modificando cada vez, para ver si este es realmente el caso.

Del mismo modo, cuando expande un nodo, no hay necesidad de colapsar ningún otro nodo. Por lo tanto, simplemente expande el nodo que intentó expandirse (pasando verdadero para ISExpanded).

Otros consejos

La razón de esto es los eventos burbujeantes.

Cuando se plantea un evento, se "burbujeará" hasta que se maneje.

Puede validarlo seleccionando un elemento de tercer nivel.

Solo necesitas configurar e.Handled = true;

Ofir

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top