Thanks for the reply. I took a look at the OrderedUnpinnedPanes code on github and I don't feel like that is a valid solution. That sample shows the Linq OrderBy extension which creates a new totally new collection and the code also shows adding and removing panes from the PaneGroup collection. It also looks like its ordering alphabetically based on the header name. Our panes are defined by the PanesSource, which is a collection of ViewModels, and I do not think modifying the underlying pane collection this way seems very stable. I would be worried that the DataContext would be changed as well.
Again I think this is behavior that should be part of any docking control that is based off of the Visual Studio docking environment. The Telerik RadDocking control should support the following out of the box.
1. When one RadPane is pinned/unpinned all other RadPanes in the same group should be pinned/unpinned. (you already added an enhancement request for this. Thank you).
2. When #1 above is applied the order of the panes when pinned/unpinned should match their order when pinned/unpinned.
The custom FlyoutBehavior looks interesting. I am still playing around with that and the AllowDragReorder worked. I guess I simply missed that property when looking through the help.