To make my understanding clearer, what I am seeing is that you really want there to be individual nodes and links from “MeasureTree1” to be copied into “Untitled3”, and that these parts should be selectable.
If that is not the case, you would be able to display “MeasureTree1” as a single object – but I’m assuming not.
Do you want these nodes and links to be modifiable here in “Untitled3”?
If not, you can make them not Deletable and the Links not RelinkableFrom or RelinkableTo.
It might be desirable to put them all into a separate Layer, and just set Layer.AllowDelete and AllowRelink to false rather than doing so individually on each Part.
And you can turn off any in-place editing of TextBlocks and any other controls that might allow editing properties of any of those parts.
How are you keeping track of references between “diagrams”?
In other words, if “MeasureTree1” changes, how do you know which other diagrams to update?
Should “Untitled3” know that some of its parts are actually sourced from “MeasureTree1”?
If you are only showing at most one diagram at a time, you could update the nodes and links for all referenced diagrams each time the diagram becomes visible.
If there might be multiple diagrams open at once, you’ll need to update the diagram models of referring diagrams immediately when a referenced diagram such as “MeasureTree1” is changed.
I suppose if you used a Layer for each dropped diagram, you could just keep a reference from the Layer to the name of the other diagram.
By the way, when drag-and-dropping from the TreeView of diagrams, you’ll need to have the transferred data be the IDataCollection representing the data in the model of that diagram.
There are other forum topics about how to do drag-and-drop in Silverlight from a TreeView into a GoXam Diagram.
You will need to do additional work to create a new Layer for the dropped nodes-and-links, if you choose to implement that way.
Hey, are you going to make sure that the user cannot drop “Untitled3” into “MeasureTree1”?
If you need to support cycles of references, you will need to more sophisticated in how you implement such sharing of diagrams.
And of course you will probably need a way to show a list of references, and to allow the user to delete references to other diagrams.