We need to create a custom layout algorithm class to be used for laying out nodes. I suppose a certain class needs to be derived, adding necessary logic to handle events such as "new level" etc. Do you have a sample app that demonstrates this technique?
The major reason for our need for a custom layout algorithm is that your algorithms fail for most trees when using custom nodes. It's usually something like 90% correct, but that 10% looks really awful.
More about this issue here:
This is what we have now:
var layoutSettings =
TreeLayoutType = Telerik.Windows.Diagrams.Core.TreeLayoutType.TreeDown,
HorizontalSeparation = 50d,
UnderneathVerticalTopOffset = 50d,
UnderneathHorizontalOffset = 80d,
ComponentsGridWidth = 2000d,
UnderneathVerticalSeparation = 100,
Why not just give us the source code of TreeLayout.cs. That would help a lot!