现在显示来自WinForms应用程序的WPF窗口

时间:2015-05-27 16:35:24

标签: .net wpf winforms window winforms-interop

我正在开发一个WinForms应用程序。我单击一个按钮来显示WPF窗口,执行以下代码:

void button1_Click(object sender, EventArgs e)
{
    Window window = new Window();
    ElementHost.EnableModelessKeyboardInterop(window);
    window.Show();
}
  • 当我第一次启动窗口时,会出现窗口。
  • 然后,如果我关闭窗口并且再次尝试显示它,则窗口不会出现。

作为一个提示,玩代码我发现如果我创建WPF窗口两次,窗口总是显示

void button1_Click(object sender, EventArgs e)
{
    Window window = new Window();
    window = new Window(); // creating the window twice WORKS!!
    ElementHost.EnableModelessKeyboardInterop(window);
    window.Show();
}

所以这让我想到了调度程序的问题,或者在窗口构造函数中完成的事情。

0 个答案:

没有答案