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 DockSite
.
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.
Thanks!
[Modified 10 years ago]