Short answer: start by looking at what the open-source GraphViz library offers: [
^]. Google has a .NET wrapper for GraphViz: [
^]. Note: I have not worked directly with GraphViz, or its .NET wrapper.
I assume you do realize that creating what you might call "minimum-static" visual representations of dynamic graphs of object relationships (parent-child, arbitrary linkages, etc.) is, potentially, a major project whose complexity can increase exponentially depending on the number of objects, the number of their linkages, and the extent to which you want to enable an end-user to interact directly (mouse, touch, keyboard) with the visual representation.
Getting that kind of functionality is why people pay big $ for components like Nevron Diagram.
It is also true that many prototypes of "visual programming" have made an attempt at creating ui's that enable this through drag/drop, creating (what in Nevron Diagram are called ports and plugs) linkages by direct action (drag-drop, click-drag, etc.).
The problem with many of these experiments (like the 1980's Miller Puckette's (later David Zicarelli's) Max for midi-programming on the Macintosh) is that all too soon, as complexity of linkages increases, the visual representation becomes a plumbing nightmare :) Max
a la Zicarelli is still alive: [
^] !
I suggest you start off by searching for currently available open-source graphing/routing packages that may give you ideas, or usable code: [
^].
For C# ? [
^].
Also, note that CP has an 'Algorithms forum: [
^].