AvalonDock
AvalonDock copied to clipboard
Separate document and tool window layout serialization
I would like to separate these two things in my project. You can think of it the way Visual Studio implemented it:
- When the application starts, only the window layout is loaded
- When a project is opened, the document layout is loaded and merged into the existing layout.
Right now in AvalonDock there is only the possibility to store everything together in one file. Do you think it is possible to separate the window and document layout serialization directly in AvalonDock?
I tried to think of a solution to the merge problem and I think it is necessary to track individual elements of the object tree to identify an existing parent of a document pane, for example. For this I need some kind of Id for these elements that gets written to the layout file. I know that a document pane has an id field but it is only generated when needed (if it is popped out into a floating window). Also, Ids are missing on other elements like DocumentPaneGroup or LayoutPanel.
Maybe it is possible to generate ids for all kinds of elements in the layout? This would be enough for me to work with.