Hex had a few rough edges that I cleaned up. Thanks to fun with MultiDataTrigger, I removed the need for a special "HexButton". I also cleaned up a bunch of stuff that I must have wrote while drinking...or maybe I've just learned a lot in the last 9 months.
This is a simple sample of building a control, based on FrameworkElement that uses OnRender. It still uses DependencyProperty, etc. There are cases where you just want to draw. This is one of them.
This was a fun one. Lots of stuff to cover here, but it's late. The most important point to take away: there are options beyond ItemsControl (and its subclasses) if you want to bind to lists. Graph handles binding to a collection of nodes (via the CenterObject), watches for changes, generates UI--all of the stuff that ItemsControl does, but in a way that allows fine-grain control of "container" creation/clean-up and doesn't use a Panel.