When a user drags out a floating window some times when the location is reloaded using the builtin locations saving, the window is off of the screens. Is there a way to re-center the floating window or to programatically re-dock the floating window?
This sounds like a bug since the window should be kept in view. So in this situation, the monitor resolutions/# of monitors has changed?
With regards to your question, you can control/determine the location of the floating windows by iterating the xamDockManager's Panes collection. This is a collection of all the root SplitPanes. So if the SplitPane is floating/floatingonly (you can find out using the xamDockManager.GetPaneLocation method/attached property), then you can use the xamDockManager's attached FloatingLocation/Size properties to move/resize the window.