当AllowTransparency =“True”时,wpf WindowsFormsHost不可见

时间:2010-11-05 17:41:56

标签: wpf windowsformshost

有人在这里解决了这个问题http://social.msdn.microsoft.com/forums/en-US/wpf/thread/6f9dd3b5-af92-4076-9b4e-1a770dd52f70/

但那是在2006年。我目前正在使用.net framework 3.5。现在还有更好的解决方案吗?有人知道微软在4.0中是否有针对这个问题的直接解决方案吗?

2 个答案:

答案 0 :(得分:5)

是的,这不起作用。引自this链接

  

这是使用的限制   WS_EX_LAYERED和   UpdateLayeredWindow()。这种形式   分层窗口不支持孩子   视窗。这是Win32限制,   不是WPF限制。儿童窗户   可用于恒定不透明度   (WS_EX_LAYERED和   SetLayeredWindowAttributes)但是WPF   不支持该模式   更具限制性(不断对抗   每像素不透明度。)

我能找到的最佳解决方案来自this链接。

我在试用时将System.Windows.Forms.TextBox添加到AllowTransparency窗口,您可以从here下载我的修改版本。

答案 1 :(得分:-1)

查看The Moth的博客文章Vista: Glass in C#