2011-03-31 9 views
12

Necesito crear un TreeView que contenga datos sincronizados, como un DataGrid.Crear un control híbrido WPF (TreeView + DataGrid = DataTreeGrid)

Para aclarar, echar un vistazo a esta imagen:
DataTreeGrid Custom Control

Por lo tanto, tienen un TreeView en el lado izquierdo con las columnas en el lado derecho.
Los datos vendrán de objetos como este:

public NodeData Parent; 
public List<NodeData> Children; 

public String Label; 

public Boolean DataA; 
public Boolean DataB; 
public Boolean DataC; 
public Boolean DataX; 
public Boolean DataY; 
public Boolean DataZ; 

¿Cómo puedo crear esto?

+0

posible dupe http://stackoverflow.com/questions/1020213/c-can-i-show-an-expandable-tree-like-view-in -a-datagrid, y también http://stackoverflow.com/questions/3457107/wpf-handle-editable-hierarchical-data-treeviewdatagrid-hybrid – xdumaine

+0

@roviuser, ese tema no responderá a mi pregunta ... Incluso abordará al problema directamente ... Pero sí, parece el mismo escenario ... – NemoStein

Respuesta

0

Para mí esto se parece a una cuadrícula de datos regular con unas pocas agrupaciones establecidas en él

Así, en su caso, se crearía una cuadrícula de datos que los grupos de la raíz, el Nodo #, Nodo segundo número y, Nodo 3er.

también aplanar su lista de NODEDATA por lo que es una sola lista con cada elemento que contiene las propiedades de la raíz, NodeLevel1, NodeLevel2 y NodeLevel3

2

This es el mejor control que he encontrado para la presentación de datos como este. No requiere una interfaz/basclass en los viemodels y utiliza HierarchicalDataTemplate

+1

Descubrí que maneja la navegación por el teclado (teclas arriba y abajo) bastante extraño. Control desde aquí: http://blogs.msdn.com/b/atc_avalon_team/archive/2006/03/01/541206.aspx debería ser un reemplazo directo para el control anterior con el manejo adecuado del teclado. – Gman