Wenn du nicht auf verschiedene Seiten schalten möchtest, musst du die entsprechenden Controls dynamisch erstellen, wenn ein Knoten ausgewählt wurde (wobei ich mich dann frage wofür du überhaupt ein tabControl verwendest...). Dafür solltest du dir im Hintergrund zusätzlich zu deinen Daten (die du ja mit der Oberfläche visualisieren möchtest) auch entsprechende GUI-Informationen speichern. Bzw. am besten direkt in einer Klasse Methoden anbieten, mit denen du eine Seite erstellst.
Dann brauchst du in der Oberfläche nur die Methode aufrufen und die kümmert sich um den Aufbau dieser einen Seite.
Das heißt du hast eine Klasse mit den Daten und eine Klasse, die für diese Daten die entsprechenden Controls erstellt. Und mit diesen beiden Klassen kannst du dann in deiner GUI arbeiten.