Reputation: 2467
How to resize the user control automatically to stretch fit inside the DevExpress Dock LayoutPanel? I have tried below approach but it does not work. When I resize the layout panel by mouse, then the user control inside the panel is expected to stretch accordingly to fit the panel.
In my parent control XAML....\
<dxdo:DockLayoutManager>
<dxdo:LayoutGroup x:Name="RootGroup" VerticalAlignment="Stretch">
<dxdo:LayoutPanel x:Name="FundMapPanel" Caption="Fund Map" ItemWidth="400" ItemHeight="320">
<cont:FundMapUserControl></cont:FundMapUserControl>
</dxdo:LayoutPanel>
</dxdo:LayoutGroup>
</dxdo:DockLayoutManager>
And in my user control XAML..
<UserControl
. . .
. . .
Width="{Binding ElementName=FundMapPanel, Path=ItemWidth, Mode=TwoWay}"
Height="{Binding ElementName=FundMapPanel, Path=ItemHeight, Mode=TwoWay}"
. . .
. . .
</UserControl>
Upvotes: 0
Views: 755
Reputation: 17848
Here is the correct approach:
<dxdo:DockLayoutManager>
<dxdo:LayoutGroup x:Name="RootGroup">
<dxdo:LayoutPanel x:Name="FundMapPanel" Caption="Fund Map" ItemWidth="400" ItemHeight="320">
<cont:FundMapUserControl
VerticalAlignment="Stretch"
HorizontalAligment ="Stretch"
/>
</dxdo:LayoutPanel>
</dxdo:LayoutGroup>
</dxdo:DockLayoutManager>
As you can see there are no bindings to ItemHeight/ItemWidth at all - inner control is stretched to fill the entire content of the LayoutPanel.
Note that you can't use the ItemHeight/ItemWidth properties because they are System.Windows.GridLength objects.
Upvotes: 1