WPF 与 WinForm 混用
AllowsTransparency & WindowsFormsHost
WPF 启用窗体透明(AllowsTransparency="true"
) 后, WindowsFormsHost
的内容不可见。
原因
这是一个 Win32 的限制。
使用 WS_EX_LAYERED
和 UpdateLayeredWindow()
的分层窗体不支持子窗体。
要支持子窗口需要使用不变的不透明度 (WS_EX_LAYERED
and SetLayeredWindowAttributes()
) 。
解决方法
一个较好的解决方案,见 webbrowser-control-on-transparent-wpf-window。
感谢 Fredrik Hedblad 。
More
- Extended Window Styles