That would be helpful.
As a workaround, we're assigning the nested diagram to the Tag property of our control's parent DiagramNodeAdapter. That way, it gets serialized with the parent diagram.
The problem we're having now is that once we've deserialized the child diagram, we assign it to an instance of the Page class (we're taking the same approach is was done in the FCDemo sample); but we can't rebuild the visual tree of the page, so the controls on the nested diagram never show up. Here's the sequence:
1. User double-clicks our custom control
2. The nested diagram is obtained from the custom control's parent node Tag property.
3. A new instance of the containing page is created. This page contains an empty diagram upon creation.
4. The nested diagram is passed to the new containing page, and this diagram is substituted for the blank one in the page.
Here's the code for the constructor of our custom Page class:
public MyCustomPage(Diagram d)
{
InitializeComponent();
diagram = d;
}
"diagram" is the name of the Diagram instance in the page markup. But simply switching out the diagrams doesn't do the trick. The nodes in "d" are there but they don't show up.