I've finally posted a working version of my Silverlight directed graph control. You can see it below. Specifically, this is a "roamer" version of the control that allows you to navigate across large data sets.
I initially built this off of the Flex control by
Mark Shepard that does
roaming. I did this initially to first learn Flex and Actionscript, but mostly to learn the difference between those and Silverlight / C#.
After having that working, I made a number of modifications to extend the application as well as make it utilize more modern constructs such as dependency injection and IoC with
Unity for Silverlight. I'll explain specifically what I did with examples in follow up posts.
The control as you can see is right here:
Go ahead, click on nodes, drag them, change the depth and see how it drills into / out of the data set, and use the forward and back to navigate nodes you've visited already.
There are still some issues with the operation of the control that I need to work out (which I think are issues with the initial flex app). Specifically, if you navigate to a node in history mode that is not adjacent to others in the history, the graph can tend to break. This is solvable by adding a path search between the new node and others in the history, but I've not had time yet. There are some issues yet also with the event model / clicking on nodes, but I'll fix those soon as I just wanted to get this up here as soon as I could.
Here also is the spring graph version of the control. With this you can add nodes and edges, drag elements, and a few other things:
be538a9a-55cb-420f-b086-ae85c5d7dca2|0|.0