我正在使用WindowsFormsHost在WPF应用程序中添加Windows窗体控件,但我意识到WinForms控件不能在没有设置样式的情况下具有透明背景,如How to: Give Your Control a Transparent Background。这将如何在WPF中完成?将透明背景添加到WindowsFormsHost WPF中的控件
顺便说一句,我使用C#和.net 4.0。
谢谢。
我正在使用WindowsFormsHost在WPF应用程序中添加Windows窗体控件,但我意识到WinForms控件不能在没有设置样式的情况下具有透明背景,如How to: Give Your Control a Transparent Background。这将如何在WPF中完成?将透明背景添加到WindowsFormsHost WPF中的控件
顺便说一句,我使用C#和.net 4.0。
谢谢。
我不认为你可以这样做。您提供的链接实际上是能够将BackColor设置为透明。当发生这种情况时,WinForms控件(在其绘制后台处理中)获取父控件并调用它的PaintBackground和Paint方法。虽然你的控件将有一个父窗口--WindowsFormsHost将创建的控件 - 该控件不会,所以没有任何东西可以绘制背景。在Win32世界中,可能会设置WS_EX_TRANSPARENT位,但会引入各种问题,并且我怀疑根据WPF的工作原理,它甚至可能不工作。我会查看MSDN主题(例如Technology Regions Overview和WindowsFormsHost interop),讨论WPF与其他技术之间互操作时的各种空间问题。
哦,好的。我怀疑有什么我能做的。感谢你的回答。 – user646265