Hi,
I am using the mixed orientation mode and I have seen one issue making the layout incoherent.
Imagine you have this kind of layout :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
DocumentPaneGroup(Vertical)
DocumentPane()
Document()
DocumentPane()
Document()
AnchorablePane()
Anchorable()
FloatingWindows()
Hidden()
```
Now, I am going to "float" the documents in the vertical DocumentPaneGroup.
The layout is now :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
DocumentPaneGroup(Vertical)
DocumentPane()
DocumentPane()
AnchorablePane()
Anchorable()
FloatingWindows()
AvalonDock.Layout.LayoutDocumentFloatingWindow
AvalonDock.Layout.LayoutDocumentFloatingWindow
Hidden()
```
As you can see, I have two floating windows but the vertical DocumentPaneGroup is still present in the layout.
On the screen, it results in an empty space occupying the space of the vertical DocumentPaneGroup.
Now, if I close one of the floating windows :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
DocumentPaneGroup(Vertical)
DocumentPane()
AnchorablePane()
Anchorable()
FloatingWindows()
AvalonDock.Layout.LayoutDocumentFloatingWindow
Hidden()
```
If I close the other, the remaining DocumentPane will occupy the whole space :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
AnchorablePane()
Anchorable()
FloatingWindows()
Hidden()
```
The behavior is reproductible with the AvalonDock.MVVMTestApp sample of AvalonDock's source code with a small modification in order to have AllowMixedOrientation on the DockingManager.
I looked a little in the source code and I think there may be some issue in in the CollectGarbage method of LayoutRoot but I am not so sure of what I could do without breaking other behaviors...
So, thanks for any advice for changes or work arounds...
I am using the mixed orientation mode and I have seen one issue making the layout incoherent.
Imagine you have this kind of layout :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
DocumentPaneGroup(Vertical)
DocumentPane()
Document()
DocumentPane()
Document()
AnchorablePane()
Anchorable()
FloatingWindows()
Hidden()
```
Now, I am going to "float" the documents in the vertical DocumentPaneGroup.
The layout is now :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
DocumentPaneGroup(Vertical)
DocumentPane()
DocumentPane()
AnchorablePane()
Anchorable()
FloatingWindows()
AvalonDock.Layout.LayoutDocumentFloatingWindow
AvalonDock.Layout.LayoutDocumentFloatingWindow
Hidden()
```
As you can see, I have two floating windows but the vertical DocumentPaneGroup is still present in the layout.
On the screen, it results in an empty space occupying the space of the vertical DocumentPaneGroup.
Now, if I close one of the floating windows :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
DocumentPaneGroup(Vertical)
DocumentPane()
AnchorablePane()
Anchorable()
FloatingWindows()
AvalonDock.Layout.LayoutDocumentFloatingWindow
Hidden()
```
If I close the other, the remaining DocumentPane will occupy the whole space :
```
RootPanel()
Panel(Vertical)
DocumentPaneGroup(Horizontal)
DocumentPane()
Document()
AnchorablePane()
Anchorable()
FloatingWindows()
Hidden()
```
The behavior is reproductible with the AvalonDock.MVVMTestApp sample of AvalonDock's source code with a small modification in order to have AllowMixedOrientation on the DockingManager.
I looked a little in the source code and I think there may be some issue in in the CollectGarbage method of LayoutRoot but I am not so sure of what I could do without breaking other behaviors...
So, thanks for any advice for changes or work arounds...