WPF在win10/11上启用模糊特效 适配Dark/Light Mode
先看效果图
win11:


win10:

大佬们已经总结了许多在WPF上开启亚克力效果的方法,本文只是做一些填坑和适配工作.
正文开始
先来看看部分版本Windows的模糊效果和我的适配方案:
1).早期Windows10:SetWindowCompositionAttribute 方法参照:在 Windows 10 上为 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样) - walterlv
2).windows10 1803(实测1903支持性更好): 参照:在 WPF 程序中应用 Windows 10 真•亚克力效果 - walterlv
3).windows11:上述的方法在win11失效 新方法使用DwmSetWindowAttribute 参照:Blogopolis - Apply Mica to a WPF app on Windows 11 (tvc-16.science)
一些特性:
1.对于3).的方法 窗口失焦时模糊效果会渐变为纯色填充..
2.在win11上运行时 需要添加WindowChrome.GlassFrameThickness="-1" 否则无效,在win10上则不能设置(见后文示例代码)
3.对于ToolWindow可以在win11上使用2).的方法(见后文示例代码)
为window设置:
WindowStyle="None" ResizeMode="NoResize" AllowsTransparency="True"
...
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="1"
GlassFrameThickness="1" />
</WindowChrome.WindowChrome>
cs中:
|
1
2
3
|
WindowAccentCompositor wac = new(this,true);wac.Color = Color.FromArgb(180, 0, 0, 0);wac.IsEnabled = true; |
附示例代码:
TwilightLemon/WindowEffectTest: 测试win10/11的模糊效果 (github.com)
2024-11-25 09:16:53【出处】:https://www.cnblogs.com/TwilightLemon/p/17479921.html
=======================================================================================
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。(●'◡'●)
因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/18566910
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!



浙公网安备 33010602011771号