WPF窗口透明度(包括非
有什么办法让WPF窗口透明而不会丢失非客户区域(边框,标题栏,关闭/最小化/最大化按钮)?
将'AllowsTransparency'设置为'true'需要将'WindowStyle'设置为'None'(如本答案中所述),这将删除非客户区域。
其中一位WPF开发人员在博客中介绍了WPF中透明窗口的工作方式,以及为什么很难实现对非客户区域透明度的支持。
无论你的窗口风格如何,透明的WPF窗口都没有任何可见的非客户区域。 对于许多想要创建自定义窗口形状的场景来说,这很好,但对于只想“淡入”普通窗口的人来说,这可能很烦人。
那么,WPF专用的解决方案似乎是不可能的。
如预期的那样,调用本地SetLayeredWindowAttributes函数并传递WPF窗口的句柄和LWA_ALPHA不起作用。
我能想到的唯一另一种方法是在Win32(或可能是WinForms)窗口中托管WPF内容。 但是,我怀疑尝试这样做会导致空域问题。
WPF分层窗口在不同的操作系统上具有不同的功能... WPF不支持透明色键,因为WPF无法保证呈现所请求的确切颜色,特别是在渲染是硬件加速的情况下。
我不确定是否正确阅读上述内容,但听起来像试图承载WPF内容的透明度是不可能的。
有任何想法吗?
流体套件有一个玻璃窗口,我认为这是你在追求的东西。
您可以使用名为WPF Chrome的ms库来定制非客户端区域。 检查这篇文章:'自定义窗口铬'。
有了这个库,你可以使铬透明并改变更多的东西。
链接地址: http://www.djcxy.com/p/4411.html