WPF和Windows窗体互操作
关于MSDN的说明:
在WPF用户界面中,您可以更改元素的z顺序以控制重叠行为。托管的Windows窗体控件是在单独的HWND中绘制的,因此它总是在WPF元素之上绘制。
*但我想知道没有私人方法可以解决它?
答案 0 :(得分:2)
不,这被称为空域问题(因为WinForms元素占用了所有这些)。
应该有一个关于.NET 4.5 / 4.6的解决方案,但它从未进入生产阶段(source;如果你谷歌它还有其他的)。目前还没有任何消息说微软计划解决它。
本文可能有助于解决这个问题:MSDN
答案 1 :(得分:0)
我的第一个建议是用等效的WPF控件替换Windows Form控件。
第二个建议是接受限制,不要重叠Windows窗体控件上的任何WPF控件。
在某些情况下,您可以使用多个顶级Windows来解决限制。然后,您必须编写一些代码以正确同步Windows的位置或明显的激活状态...
我从来没有在Windows窗体和WPF之间做过,但我在Windows窗体中完成了2个顶级窗口,因此UI的一部分可以是半透明的(目的是能够与另一个应用程序重叠(可能是PDF查看器)以便我们可以从现有图表“复制”曲线。)