2010-09-15 10 views
5

Necesito implementar la función de búsqueda en WPF TreeView (básicamente necesito recordar la última selección de usuario). He intentado varios enfoques sugeridos pero nada funciona ya que virtualization está habilitado en mi TreeView y los nodos secundarios se cargan solo cuando se expande un nodo padre (carga diferida).Necesito una muestra para WPF Búsqueda en TreeView con Virtualización y carga bajo demanda

¿Alguien sabe de una muestra que tiene estas tres cosas (Virtualización, Carga a pedido y Búsqueda) implementadas juntas?

Respuesta

3

Eche un vistazo a this MSDN hilo de foro, Bob de MS explica el problema al implementar esta característica.

la causa es el intento VirtualizingStackPanel para generar un elemento de la pantalla, pero tiene un generador ya en su proyecto para generar los elementos ampliados (en el controlador de OnTreeNodeExpanded caso). Es se produce un conflicto con dos generadores. VirtualizingStackPanel puede generar el elemento requerido en tiempo de ejecución, también generarlos en BringIndexIntoView método. El código del método StartAt es comprobar el generador, si no es nulo, ejecute la excepción "No se puede llamar a StartAt cuando la generación de contenido está en progreso ". Por lo tanto, la muestra rellena todos los elementos a la fuente enlazada en InitializeComponent(), y deja que el método BringIndexIntoView genere el contenedor para el artículo.

Una muestra que reproduce el problema también se adjunta en ese hilo.

Así que por el momento no parece haber ninguna solución para este enfoque :(

+1

se las arregló para encontrar una solución alternativa? Tengo el mismo problema –

Cuestiones relacionadas