我有这样一个WPF用户控件...开放WPF用户控件的winform窗口缩小父的winform窗口
namespace WpfApplication1
{
public partial class MyControl : UserControl
{
......
}
}
我也有一个双赢的形式包含该WPF用户控件...
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ElementHost ctrlHost = new ElementHost();
ctrlHost.Dock = DockStyle.Fill;
WpfApplication1.MyControl win = new WpfApplication1.MyControl();
ctrlHost.Child = win;
this.Controls.Add(ctrlHost);
}
}
}
我有一个有一个按钮的父胜利形式。单击该按钮将打开包含ElementHost的Form1。
namespace WindowsFormsApplication4
{
public partial class Parent : Form
{
public Parent()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form1 form1 = new Form1();
form1.Show();
}
}
}
我的应用程序运行在默认情况下父窗体...
Application.Run(new Parent());
我面临的问题很奇怪。当我运行应用程序时,父窗体打开,并单击按钮时,包含WPF控件的子窗口窗体也会打开。但问题是,父窗体窗口的大小自动缩小(窗口替代,恢复自身和控件和字体变得更小),只要WPF控件窗体弹出。如果我评论'Form1_Load'函数的内容,那么父窗口不会缩小。为了检查最坏的情况,我评论了'Form1_Load'中的所有内容,除了
ElementHost ctrlHost = new ElementHost();
line。这条线本身的存在使得父窗体缩小,正如我前面提到的那样。我试图在互联网上广泛搜索这个问题。我无法找到解决方案。请帮我解答。我用尽....
http://www.codeproject.com/Tips/130414/Host-Windows-Form-Controls-in-WPF请看这个环节,我想请提供您的窗口形式特定的宽度和高度,然后尝试加载您的子级用户控件。由于孩子添加内容被添加到你的表格,它知道它需要更多的空间,这就是为什么它缩小。 – 2014-10-17 02:57:52
感谢您的宝贵意见Ashok。我试着设置父窗口的宽度和高度。但仍然存在相同的问题... – balaji 2014-10-17 07:10:22
这方面的进展如何?我有完全一样的问题。 – user958578 2015-02-12 11:02:51