wpf - WPF WindowsFormsHost大小调整

标签 wpf user-controls windowsformshost

我想将Windows窗体控件包装在wpf UserControl中

<UserControl x:Class="MVVMLibrary.ReportViewer"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:ws="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms"
    Height="Auto" Width="Auto">
    <Grid>
        <WindowsFormsHost Name="Host">
            <ws:ReportViewer/>
        </WindowsFormsHost>
    </Grid>
</UserControl>


请注意,高度和宽度是自动的。

当我将其放置在堆栈面板或网格控件中时,它将其高度设置为0,并且基本上消失了。然后,要求用户调整窗口的大小(缩小,因为用户控件说我不需要任何空间,谢谢)。当用户调整大小时,它会扩展到用户指定的大小。

所以我的问题是我做错了什么?如何使我的用户控件占用所有可用空间,而不是不要求任何空间?

最佳答案

我找到一个更好的答案。

使用带有LastChildFill = true的dockPanel,然后将其与Strech进行水平和垂直对齐,然后放入WindowsFormsHost中,当然必须填充WindowsForms控件。

<DockPanel LastChildFill="true">
    <WindowsFormsHost HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <Panel Dock=Fill />
    </WindowsFormsHost>
</DockPanel>


请享用',

关于wpf - WPF WindowsFormsHost大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/977729/

相关文章:

wpf - 如何在 RichTextBox 中设置内联图像垂直居中

c# - 使用 DataGridTemplateColumn 在按键时开始编辑模式

wpf - 在 VS2013 的设计时显式设置/忽略可见性?

c# - 如何检查对象是矩形还是椭圆

asp.net - 在asp.net UserControl 中的控件上设置DataSource?

c# - 使 WPF 应用程序全屏(覆盖开始菜单)

c# - 在 WPF 中使用 ViewModel 创建 UserControl

wpf - 没有按钮的 MVVM 命令

c# - 如何通过 DevExpress 以编程方式关闭所有 WPF 菜单、弹出窗口等以解决与 WindowsFormsHost 相关的问题?