gpt4 book ai didi

.NET WPF : Problems repeatedly calling WPF form from a WinForm application

转载 作者:行者123 更新时间:2023-12-04 06:19:26 25 4
gpt4 key购买 nike

正如标题所述,我多次从 WinForm 应用程序调用 WPF 表单(调用堆栈上有几个类)。最初,WPF 只工作一次。经过一番谷歌搜索,我发现我必须将 ShutdownMode.OnExplicitShutdown 添加到 WPF 应用程序创建中。

现在,在添加后,退出第一个 WPF 表单后,控制永远不会从“运行”调用返回,并且焦点返回到 WinForm 对话框。如果我退出它,我最终会从 WPF 运行中获得控制权。

赢窗体:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm form = new MainForm();
Application.Run(form);

WPF预初始化:
application = new System.Windows.Application
{
ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown
};

调用 WPF 表单:
ConfirmForm form = new ConfirmForm();
application.Run(form);

这里发生了什么?:

最佳答案

Application.Run (在 WinForms 和 WPF 中)是一个阻塞调用,它运行消息循环并在应用程序准备退出时返回。

您应该调用 Show() ,显示 FormWindow并立即返回。

但是,您需要调用 ElementHost.EnableModelessKeyboardInterop 告诉 WPF 使用 WinForms 消息循环。

关于.NET WPF : Problems repeatedly calling WPF form from a WinForm application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com