We use the SaveAsBinary method to save the settings of the UltraDockManager. We then use the corresponding LoadFromBinary method to load these settings in order to maintain our user's custom pane layout.
In our next version we plan to add a pane to the dock manager. When our assembly is rebuilt and we load the settings, the new pane does not work correctly. We instead see the control that should be docked in the new pane just locked in the upper left corner of the control. If we discard the settings and instead load the default layout, everything works as expected.
Is there a recommended way to merge this new pane with the saved layout? If not, is there something in the stream that will tell us when the settings have to be discarded?
Hi,
How do u identify the new controls that are not docked after loading old layout xml into docking manager?
Thanks,
Valliappan
Layout merging (merging in an old layout file with a newer set of panes) is not supported on the UltraDockManager. If anyone would like to see this feature, I would recommend you submit a feature request for it here. There is no official solution to implement this manually, but the solution posted by dswope above should be fine. I see no problems with this.
I would like to see an official solution to this problem as well.
Would you mind sharing your solution in the forum?
I still don't know of an official solution but we've implemented a workaround. We store the UltraDockManager.ControlPanes collection before loading the layout. Then, after loading the layout, we identify any controls that are no longer docked and explicitly dock them.