No permitas que un componente visual se convierta en tu estructura de datos. Lo mas adecuado es guardar la informacion en la estructura que mejor se adapte a tus necesidades (si necesitas busquedas eficientes podes usar algun tipo de arbol, pero si en lugar de realizar muchas busquedas, tenes muchas operaciones de insercion, quiza una lista desordenada se comporte mejor).
Luego tenes que "conectar" tu estructura con el control usando algo que medie entre la estructura y el control. A mi me parece valido que cada "nodo" conozca cual es su indice dentro del componente visual, es decir, que tenga una propiedad en la que el control indique cual es la posicion en la que "dibujo" este elemento; o al reves, que el componente respete el indice de cada nodo el cual es definido en tu estructura
Teniendo esto, cambiar entre componentes, cambiar la estructura, o realizar operaciones como la que indicas en las que el control visual "no tiene soporte", es trivial, y lo mejor, esta todo separado y ordenado y no todo mezclado
|