Show the class hierarchy for the classes in GoXam.

Because we know that the class hierarchy is tree structured, we can use a TreeModel as the Diagram.Model. The node data type is a simple class that we define, TypeInfo, to hold the needed property values. (A named class is needed to avoid reflection permission exceptions when the sample is running with limited permissions.)

Each node is identified by its FullName, but the node DataTemplate only displays its Name. The FullName is shown via a tooltip. The name shown for generic types may look funny, but that's how it is.

The reference from one TypeInfo to its base class data is by a string, the FullName identifier.

The link template is minimal -- just a thin black line. No arrowhead is necessary in this sample.