The layout is controlled by moving the nodes closest to the tree's root node. When one of these nodes is moved horizontally to the other side of the root, all of its children will be sent to DoLayout with a new direction, causing text to always be moved outwards from the root.

When a node is deleted the CommandHandler's DeletingInclusions property ensures that all of its children are deleted with it.

Colors are assigned randomly for the root-children nodes. Data binding allows the Link's color and the Node's Line color to be kept consistent. This also demonstrates how Links do not necessarily need their own Data class: The Links can easily access the data of their adjacent nodes with properties such as Link.ToData.LinkColor, which in this example keeps them color-bound to the Data of their ToNode. See SimpleLinkTemplate in the XAML for the exact usage.

This sample demonstrates some newer features, such as use of EffectiveCollectionInclusions.SubTree, the TextEditingTool's Starting property and the CommandHandler's DeletingInclusions property.