Pregunta

Tengo un control de Silverlight Treeview que estoy llenando dinámicamente cuando se hace clic en un nodo específico. Por ejemplo, carga la primera generación (nivel) de nodos, luego, cuando el usuario hace clic en uno de los nodos, uso el evento seleccionado para llenar los niños de ese nodo, etc., etc. Estoy enviando de mi base de datos una bool Valor con cada valor del nodo que indica si los nuevos nodos tienen o no nodos infantiles.

Quiero establecer la flecha de expansión para mostrar frente a nuevos nodos que tienen un hijo, pero el problema es que sus hijos aún no estarán poblados. Pensé que tal vez establecer el Haschild en mi valor de bool, pero Haschild es de solo lectura. Cualquier sugerencia sería muy apreciada.

¿Fue útil?

Solución

Solo un TreeViewitem en blanco cuando se derrumbe solo para mostrar la flecha.

Pero cuando el usuario lo expanda, borre ese niño en blanco, y haga una llamada asíncrata para obtener los niños reales.

Establezca el UserState en el TreeViewitem o ID de los padres cuando realice la llamada GetChildrenasync.

Cuando llegan, el Userstate debe ser ese TreeViewitem o ID de los padres, cuando encuentre ese padre que acaba de establecer su elemento en el E.Result.

Otros consejos

Si está familiarizado con las propiedades de dependencia, puede crear una propiedad de dependencia que usted sería establecida por usted en código y getTable en el XAML para que pueda estar obligado a hacerlo.

Esto le permitiría usar un valor de valor para la visibilidad de la flecha.

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