Bugs and other problems with AvalonDock

Mar 12, 2009 at 3:46 PM
Edited May 26, 2009 at 3:27 PM

First of all, many thanks for creating this library. My humble contribution was solving the Composite WPF (Prism)\AvalonDock compatibility issues (see my blog post about it), hope it would be helpful for AvalonDock community. Unfortunately, the library is still far from perfect, a number of bugs and other problems exist:

1. Rather a nasty problem, immediately visible in our tab configuration. To reproduce it in demo, change ContentControl in Demo.xaml to the following:

<ContentControl x:Name="TestContainer">
            <ad:DockingManager x:Name="_dockingManager">
                <ad:ResizingPanel Orientation="Vertical">
                    <ad:ResizingPanel Orientation="Horizontal">
                        <ad:DockablePane ad:ResizingPanel.ResizeWidth="200" ad:ResizingPanel.ResizeHeight="100">
                            <ad:DockableContent x:Name="_explorerWindow" Title="Server Explorer" DockableStyle="DockableToBorders">
                            </ad:DockableContent>
                            <ad:DockableContent x:Name="_propertiesWindow" Title="Properties">
                            </ad:DockableContent>
                        </ad:DockablePane>
                        <ad:DocumentPane x:Name="_documentsHost">
                            <ad:DockableContent x:Name="_objectExplorerHost" Title="Object explorer" >
                            </ad:DockableContent>
                            <ad:DockableContent x:Name="_eventsLogWindow" Title="Events log">
                                <TextBox x:Name="_txtLog" VerticalScrollBarVisibility="Auto" Margin="10" />
                            </ad:DockableContent>
                        </ad:DocumentPane>
                    </ad:ResizingPanel>
                </ad:ResizingPanel>
            </ad:DockingManager>
        </ContentControl>
(two dockable contents and no DocumentContent inside document pane). Now, undock ObjectExplorer and try to dock it the right. It fills all the ContentControl, not just the right part of it!

2. Drawing in AutoHide problem, discussed in previous thread, is very important. Let me stress that every commercial WPF docking library in existence doesn't have these problems with drawing, so AvalonDock clearly looks worse in comparison - even if by many positions it's better than, for example, VantagePoint.
3. I can confirm problem 2 from JohnMnemonic list: ObjectExplorer's background color changes after docking to DocumentPane and redocking it back. It's especially visible on Windows XP. Maybe it's some kind of uncurable problem of WPF color defaults?
4. By default, tabs on Windows XP look rather strange even in demo. Is it curable?

Is there any hope to see fixes for these bugs in (rather) near future? Should I submit them to IssueTracker?
Thanks in advance,
aw

Mar 24, 2009 at 6:37 PM
Hi, thanks for your feedback.
I'm preparing to post a new version of AvalonDock which has many new features and bug fixes. Regarding your points:
1. It seems that you have two nested ResizePanels that causes problem you experienced, the corrected xaml is the following:
<ContentControl x:Name="TestContainer">
            <ad:DockingManager x:Name="_dockingManager">

                    <ad:ResizingPanel Orientation="Horizontal">
                        <ad:DockablePane ad:ResizingPanel.ResizeWidth="200" ad:ResizingPanel.ResizeHeight="100">
                            <ad:DockableContent x:Name="_explorerWindow" Title="Server Explorer" DockableStyle="DockableToBorders">
                            </ad:DockableContent>
                            <ad:DockableContent x:Name="_propertiesWindow" Title="Properties">
                            </ad:DockableContent>
                        </ad:DockablePane>
                        <ad:DocumentPane x:Name="_documentsHost">
                            <ad:DockableContent x:Name="_objectExplorerHost" Title="Object explorer" >
                            </ad:DockableContent>
                            <ad:DockableContent x:Name="_eventsLogWindow" Title="Events log">
                                <TextBox x:Name="_txtLog" VerticalScrollBarVisibility="Auto" Margin="10" />
                            </ad:DockableContent>
                        </ad:DocumentPane>
                    </ad:ResizingPanel>

            </ad:DockingManager>
        </ContentControl>

2 and 4. Points are issues that you'll find solved in next version that I'm almost ready to post.
3. I couldn't notice ObjectExplorer's background changing. Maybe you can post a screenshot just to understand better where is the problem.

Thanks!
Ado
Mar 25, 2009 at 8:55 AM
I've posted the screenshots describing problem 3. They are (sequentially) phase1, phase2 and phase3. Notice the Object explorer color change.

Many thanks for your answers, and good luck with AvalonDock project!
Mar 25, 2009 at 9:35 AM
Hi, thanks for the images. It seems that there is something wrong with XP theme that I need to check.
Here the 3 phases with the new version under Vista:
Phase1 http://www.freeimagehosting.net/image.php?b4d92a3c04.png
Phase2 http://www.freeimagehosting.net/image.php?92c0432271.png
Phase3 http://www.freeimagehosting.net/image.php?4156b4bf3e.png

Thanks, Ado
Mar 25, 2009 at 1:29 PM
Edited Mar 25, 2009 at 2:15 PM
Oh, sorry, I must add that the described in my screenshots behaviour occurs only when the background color of ObjectExplorer wasn't explicitly set. When it was explicitly set, everything is OK.

UPDATE:  By the way I've noticed another bug (on WinXP, maybe on Vista too). In your demo the words "Object explorer" in the title are written with white font color. Dock it to Document pane, redock back. "Object explorer" in the window title will now be written with BLACK font color! This bug is seen even on screenshots I've posted in my previous post.