Search code examples
wpftoolkitavalondockxceed

How to set height and width in AvalonDock


I cannot for the life of me figure out how to set the height of panes in AvalonDock. I have tried DockHeight, DockMinHeight, and a bunch of other suggested things. Here's what I have:

<xcad:LayoutRoot x:Name="_layoutRoot">
    <xcad:LayoutPanel x:Name="_layoutPanel" Orientation="Vertical">

        <xcad:LayoutDocumentPaneGroup x:Name="_topPaneGroup" Orientation="Horizontal" DockHeight="1.5*" >
            <xcad:LayoutDocumentPane x:Name="_topLeftPane" />
            <xcad:LayoutDocumentPane x:Name="_topRightPane" />
        </xcad:LayoutDocumentPaneGroup>

        <xcad:LayoutDocumentPaneGroup x:Name="_bottomPaneGroup" Orientation="Horizontal" DockHeight="0.25*">
            <xcad:LayoutDocumentPane x:Name="_bottomLeftPane" DockWidth="0.75*"/>
            <xcad:LayoutDocumentPane x:Name="_bottomRightPane" DockWidth="1.5*"/>
        </xcad:LayoutDocumentPaneGroup>

    </xcad:LayoutPanel>
</xcad:LayoutRoot>

Basically I set up 4 named quadrants so I can easily place windows in the appropriate quadrant later.

Anyway, currently all quadrants are equal size. I put some example sizes in but basically I want this:

+---------------------+----------------------+
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
|                     |                      |
+-----------+---------+----------------------+
|           |                                |
|           |                                |
|           |                                |
|           |                                |
+-----------+--------------------------------+

I'm open to new ideas on how to achieve this as well. In the end I need:

  • 4 quadrants I can add newly-opened windows to
  • bottom half shorter
  • bottom left narrow

Edit: I resolved the issue that I needed the "dummy" panes for so no more mention of those.

Edit again: The DockWidth parameters are working using the * notation (updated example to reflect) but no matter what I set the DockHeight to it doesn't update the heights of those pane groups.


Solution

  • In the end the solution seemed to be to just change the DocumentPanes to AnchorablePanes. I had wanted to use documents to keep the tabs at the top but the anchorables actually listen to things like height, and change when you change the styles...