It seems that I've found an easy solution for using every existing Visual Studio-style docking library for WPF (AvalonDock, SandDock, Infragistics xamDockManager etc) with Composite WPF library (aka CAL aka PRISM). The idea is quite simple: to extract visual region handling from CAL code and use CAL regions as a metadata for further processing. As a result we have:
- No changes in a specific modules code - they remain as CAL-compliant as they could be.
- No changes in CAL sources except UnityBootstrapper class, which is easily separatable from the rest of the library - and should be used only in application-level project anyway.
- We could design any complex tabs\panes initial configuration, all views will find their way in GUI.
- Dynamic view creation\activation\removal through traditional Composite WPF mechanisms also supported.