Одним из решений было бы добавить две LayoutAnchorablePane и одну LayoutDocumentPane.
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Horizontal">
<avalonDock:LayoutAnchorablePane Name="FirstAnchorablePane"/>
<avalonDock:LayoutDocumentPane/>
<avalonDock:LayoutAnchorablePane Name="SecondAnchorablePane"/>
</avalonDock:LayoutPanel>
</avalonDock:LayoutRoot>
Соответственно в LayoutInitializer инициализации двух скрепляемых панелей с соответствующим содержанием.
var item = anchorableToShow.Content;
var toolsPane = layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "SecondAnchorablePane");
var firstPane = layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "FirstAnchorablePane");
if (toolsPane != null)
{
if(item is RecentFilesViewModel)
toolsPane.Children.Add(anchorableToShow);
if (item is FileStatsViewModel)
firstPane.Children.Add(anchorableToShow);
return true;
}
Но только с одним LayoutAnchorablePane, возможно, есть способ сделать это. Не знаю вообще, было бы интересно узнать тоже.