【问题标题】:How to resize WPF user control inside the DevExpress LayoutPanel如何在 DevExpress LayoutPanel 中调整 WPF 用户控件的大小
【发布时间】:2019-07-16 15:17:47
【问题描述】:

如何自动调整用户控件的大小以适应 DevExpress Dock LayoutPanel 的大小?我尝试了以下方法,但它不起作用。当我通过鼠标调整布局面板的大小时,面板内的用户控件应该会相应地拉伸以适应面板。

在我的父控件 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>

在我的用户控制 XAML 中..

<UserControl
. . .
. . .
Width="{Binding ElementName=FundMapPanel, Path=ItemWidth, Mode=TwoWay}"
Height="{Binding ElementName=FundMapPanel, Path=ItemHeight, Mode=TwoWay}"

. . .
. . .
</UserControl>

【问题讨论】:

  • 你试过RelativeResouceParentType吗?或者也许只是删除WidthHeight 并将VerticalAlignmentHorizontalAligment 设置为Stretched
  • 是的,这是有效的。谢谢!

标签: wpf user-controls devexpress


【解决方案1】:

这是正确的做法:

<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>

如您所见,根本没有到 ItemHeight/ItemWidth 的绑定 - 内部控件被拉伸以填充 LayoutPanel 的全部内容。
请注意,您不能使用 ItemHeight/ItemWidth 属性,因为它们是 System.Windows.GridLength 对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多