【问题标题】:Keep two WPF userControl ratio when hosted in Winforms在 Winforms 中托管时保持两个 WPF userControl 比例
【发布时间】:2018-02-04 14:20:29
【问题描述】:

我有 2 个 WPF 用户控件(userControl1userControl2)。在我的 winform 中,我放置了 2 个 elementHost,第一个设置为 userControl1,第二个设置为 userControl2

第一个 elementHost 的属性 Dock 为left,第二个设置为fill

在运行时,当我调整 winform 的大小时,仅调整了第二个 elementHost 的大小。我想保持两个 elementHost 之间的比例相同。

我该如何解决这个问题?我讲一个比在 Winform OnSizeChanged 中计算两个 elementHost 的高度更好的解决方案

谢谢,

【问题讨论】:

  • 尝试将两个用户控件都停靠为 Fill,如果这不起作用,那么我建议使用单个元素主机并让 WPF 管理更灵活的大小调整。

标签: wpf winforms wpf-controls desktop-application


【解决方案1】:

如果这是一个选项,您可以将它们放在具有两列 GridWPF 用户控件中,并将列的 Width 设置为 * 以实现比例大小。

<Grid x:Name="MainGrid" " >         
    <Grid.ColumnDefinitions>
       <ColumnDefinition Width="*" />
       <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <GridSplitter  Width="5" HorizontalAlignment="Right" VerticalAlignment="Stretch"  ResizeBehavior="CurrentAndNext" />
    <local:UserControl1 Grid.Column=0 />
    <local:UserControl2 Grid.Column=1 />
</Grid>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2011-03-03
    相关资源
    最近更新 更多