Creando un control híbrido WPF (TreeView + DataGrid = DataTreeGrid)

Necesito crear un TreeView que contenga datos sincronizados, como un DataGrid.

Para aclarar, eche un vistazo a esta imagen:

Entonces, tengo un TreeView en el lado izquierdo con columnas en el lado derecho.
Los datos provendrá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?

Respuestas a la pregunta(3)

Su respuesta a la pregunta