Xamarin Pack Programmer's Guide
Attaching and Grouping Items

MindFusion.Diagramming for Xamarin allows attaching a node to another diagram element, establishing a subordinate-master relationship between the two items. To attach an node to another node, use the AttachToNode method. To attach a node to a link, call one of the AttachToLink overloads. When a master element is moved or resized, any subordinated node follows it, so that the initial distance between the two items stays constant. This happens both when a user moves the master item around, and when the item position is changed using a method or a property.

Possible Uses

Hierarchical Grouping

Every member of a group can be the master item of another group, that is, an item can be subordinate in one group and meanwhile be another group's master. MindFusion.Diagramming for Xamarin doesn't impose any limits to the depth and width of group hierarchies built that way. However, it is not possible to put an item as a subordinate in more than one groups because the hierarchy relations would become ambiguous.

Unions

It is possible to create such groups, that if any item in the hierarchy is modified, all other items are updated too. This can be done by putting the items in circular chain of dependencies  that is, item1 is attached to item2, item2 to item3,  itemN to item1. If any of these items is modified, the change will propagate through the chain until it reaches its originator.

Attaching Items to an Existing Group

Links cannot be attached to groups but can be master items of groups. If a group's master item is a link, nodes can be attached to the control points or segments of the link. See the AttachToLink methods for details. If the master item is a node, other nodes can be attached to any of its corners, or to an area specified as percent of master-node's bounding rectangle. Check AttachToNode for details.

Accessing Group Masters

The item a node is attached to can be accessed through the Master property.

Detaching Items

An item can be detached from its master by calling the Detach method.