Quantcast
Channel: AvalonDock
Viewing all articles
Browse latest Browse all 2690

Created Issue: [Version 2.0] AllowMixedOrientation and documents changed to floating makes empty space in main layout [16102]

$
0
0
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...

Viewing all articles
Browse latest Browse all 2690

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>