有人在这里http://social.msdn.microsoft.com/forums/en-US/wpf/thread/6f9dd3b5-af92-4076-9b4e-1a770dd52f70/WPF WindowsFormsHost是不可见的,当AllowsTransparency =“真”
解决了这个问题,但是那是在2006年我目前使用的.NET Framework 3.5。现在有没有更好的解决方案。有谁知道微软在4.0版本中是否有针对此问题的直接解决方案?
有人在这里http://social.msdn.microsoft.com/forums/en-US/wpf/thread/6f9dd3b5-af92-4076-9b4e-1a770dd52f70/WPF WindowsFormsHost是不可见的,当AllowsTransparency =“真”
解决了这个问题,但是那是在2006年我目前使用的.NET Framework 3.5。现在有没有更好的解决方案。有谁知道微软在4.0版本中是否有针对此问题的直接解决方案?
是的,这是行不通的。从this链路
这句话是使用 WS_EX_LAYERED和 UpdateLayeredWindow()的限制。这种形式的 分层窗口不支持子窗口 。这是一个Win32限制, 不是WPF限制。子窗口 可以具有恒定不透明度 (WS_EX_LAYERED和 SetLayeredWindowAttributes),但WPF 可以使用不支持该模式中,因为它是 更具限制性的(恒定与 每个像素的不透明度)。
我已经能够找到的最佳解决方案是从this链接。
我在试用时向AllowsTransparency窗口添加了一个System.Windows.Forms.TextBox,您可以从here下载我的修改版本。
看看蛾的博客文章Vista: Glass in C#
这有帮助。谢谢。 – user441660 2010-11-08 14:54:52