c#WPF对Winform控件的透明度

我有一个WPF控件,我想覆盖到WinForms应用程序。 所以我尽职尽责地创建了一个可以显示以下WPF对象的元素主机:

           

问题是WinForm表单上的控件不呈现,WPF只是在屏幕上删除它们。

元素主机创建如下:

 dialogHost = new ElementHost(); dialogHost.Child = dialog; dialogHost.BackColorTransparent = true; dialogHost.BringToFront(); dialogHost.Show(); 

有什么我应该做的,我不是吗?

是否存在关于在Winforms上显示透明WPF控件的已知问题?

任何可能有帮助的艺术品?

注意:这个问题与这个问题有关

我认为你正在遇到一个空域问题 。 AFAIK,由于ElementHost拥有空域,因此无法混合WPF透明度和ElementHost透明度。

关于创建非矩形hwnds以托管WPF内容的链接中有一个简短的模糊,这可能会让你更远。

也许你可以考虑将更多的WinForms应用程序迁移到WPF?

您应该阅读: 使用ElementHost时加载wpf控件之前的黑色背景只需隐藏并显示它(不酷但可以工作)

您可能已经尝试过这个,但是如何在用户控件上设置不透明度?

这似乎是互操作空域问题。