我有這樣一個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