I am currently evaluating Actipro Docking & MDI for my team. Each
DocumentWindow will contain and needs to retain a relatively complex UI; it can't be recreated or re-bound each time a tab is selected.
I thought that using
ItemContainerRetentionMode="Wrapped" on a
DockSite, when binding
DocumentItemsSource, would cause each tab in a
TabbedMdiHost to retain its visuals and not have to be re-bound or re-instantiated when the tab is subsequently selected.
This does not appear to be the case when using nested <code>DockSites</code>. Instead, the view for the outer
DocumentWindow is actually re-instantiated each time the tab selection is changed. Put another way, any changes to the inner
DockSite are overwritten when switching tabs in the outer
Without nested <code>DockSites</code>, the view only gets instantiated once (unless you raft or side-dock a tab), and then all the bound property getters are called each time the tab selection changes. I would have expected the view to be instantiated once per tab and then shown/hidden based on which tab is selected.
This docking solution is very slick, overall, and very close to what we are seeking, but I need to understand: are these known limitations (with workarounds, maybe), defects, or what?
I have screenshots and simple sample reproduction solutions for both scenarios that I can provide; I'm not sure where to E-mail them.
[Modified 5 years ago]