WPF模式窗口作为WinForms中的工具窗口消失

WPF模式窗口作为WinForms中的工具窗口消失,第1张

概述WPF模式窗口作为WinForms中的工具窗口消失

我想知道是否有人能帮助我这个相当莫名其妙的情况。 我有一个WPF窗体myForm ,我在WinForm应用程序(不使用ElementHost)模态显示。 一切工作正常,如果我使用默认的windowstyle,它显示在任务栏中。 不过,现在我不希望窗体显示在任务栏或包含最小化button,因此我做了以下几点:

MyForm myForm = new MyForm(); myForm.ShowInTaskbar = false; myForm.windowstyle = System.windows.windowstyle.ToolWindow; myForm.windowstartupLocation =System.windows.windowstartupLocation.CenterOwner; myForm.ShowDialog();

现在,wpf表单按照预期的方式显示,没有最小化button。 如果我现在select任务栏中的“父”winform应用程序,wpf表单消失,似乎没有任何方式返回到它! 我已经阅读了这是相似但不一样的(纯WPF应用程序),所以我可以理解为什么主要的应用程序不会出现在ALT + TAB菜单,但任何人都可以告诉我如何可以返回到WPFforms?

提前致谢。

如何为商业windows应用程序创buildtesting环境?

有一种更简单的方法来在C#控制台应用程序中使用windows ctrl + v(粘贴)function吗?

windows正在一台机器上从我的date中删除斜杠

组类似的任务栏button

如何使用C#/ .NET代码获取ClickOnce应用程序path和版本号?

如何以编程方式closures或打开“windowsfunction”

什么是确定应用程序位置的正确方法?

WindowProc在c#中的窗体

计算机上的位置坐标显示X = -32000,Y = -32000

select一个string的特定部分C#

windowsInteropHelper的使用允许你从Winforms中包装一个托管的WPF表单,并将其父项设置为一个Winforms控件,这样可以防止WPF表单消失(同样由dowhilefor和Hans Passant指出)

例如:

// Use the interop helper for the specifIEd wpf window hosted by the win32 owner WindowInteropHelper wih = new WindowInteropHelper(wpfForm); wih.Owner = this.someWin32FormsControl.Handle;

这与Winforms或WPF无关,这是windows的功能。 我认为你唯一的解决办法是连接你的模式; 即截获Winforms表单上的Activated事件,并且如果您的WPF工具窗口是可见的,则将该窗口向前移动并给予焦点。

总结

以上是内存溢出为你收集整理的WPF模式窗口作为WinForms中的工具窗口消失全部内容,希望文章能够帮你解决WPF模式窗口作为WinForms中的工具窗口消失所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1293323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存