改变的Aero玻璃为我的窗口颜色?(Changing the colour of Aero glas

2019-07-19 03:11发布

我使用DwmExtendFrameIntoClientArea在我的WPF应用程序,以获得玻璃效果。 这是工作的罚款。 我希望做的是改变用于玻璃的颜色 - 我正在写一个倒数计时器,和我想的窗口为普通玻璃的颜色大部分的时间,然后去红(但仍与玻璃)时,在时间耗尽。

我发现这个问题 ,其中谈到了如何应用渐变玻璃,并挑选不同的颜色时,工作正常。 不幸的是,边界没有适当的颜色。

当我通过使用关闭边界ResizeMode="NoResize" ,然后我最终具有方角。 我想保持圆角。

我看着创建一个不规则形状的窗口,通过使用AllowTransparency="True" ,并且工作得很好,但看起来并不像一个航空玻璃窗。 它看起来有点平。

所以:我的问题:我该如何创建WPF窗口,看起来像Aero玻璃的透明度,但使用不同的颜色?

Answer 1:

我认为唯一可能的方式实现这一目标是用半透明边框填充,并绘制了整个窗口或你有玻璃的部分。 它是一种解决方法,但我想这是因为玻璃的颜色得到由系统用户定义和这个设置将覆盖你的一个可能的解决方案。



Answer 2:

我问同样的问题我自己。

我还没有找到一个好的解决办法,但最好我已经遇到到目前为止做以下几点:

HwndSource.FromHwnd(hwnd).CompositionTarget.BackgroundColor = Colors.FromArgb(100,255,0,0);

不幸的是这个色调最小化,调整大小和关闭按钮,我宁愿避免。



文章来源: Changing the colour of Aero glass for my window?