我正在尝试将wpf用户控件添加到现有的winforms项目中,并让wpf用户控件停靠并填充整个空间。
当前有一个框架,它将winforms用户控件加载到父窗体(加载到面板中)以响应按钮单击。这就是我要挂接的地方-当前正在加载的winforms用户控件将具有elementhost。
等级制度:
-
form1.cs-包含一个面板,用于动态加载winforms用户控件
-
winforms usercontrol-包含elementhost
elementhost的dock设置为fill,其子属性设置为ucreport,这是一个wpf用户控件,具有以下标记(仅包括顶层设计):
<UserControl x:Class="MyClassName"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TabControl HorizontalAlignment="Left" Name="tabControl1">
<TabItem Header="Header1">
...The interesting stuff goes here
</TabItem>
</TabControl>
</UserControl>
当我调整窗体的大小时,UserControl的内容确实是垂直展开的,但是水平展开时,内容只会扩展到足以容纳其内容的程度。
当我在设计器中查看winforms用户控件(具有elementhost的用户控件)时,问题很明显。指定的WPF内容将被呈现并从上到下填充,但不是从左到右填充。
我认为在XAML中必须设置一些内容(可能在UserControl声明中?)为了让它填充它的父容器,它是elementHost——我只是找不到属性。
有人能启发我吗?