8

我在我的 WPF 应用程序中使用DwmExtendFrameIntoClientArea来获得玻璃效果。这工作正常。我想做的是改变玻璃使用的颜色——我正在写一个倒数计时器,我希望窗户大部分时间都是正常的玻璃颜色,然后变成红色(但是仍然用玻璃)当时间用完时。

我发现了这个问题,它讨论了如何应用渐变玻璃,并且在选择不同颜色时效果很好。不幸的是,边框的颜色不合适。

当我使用 关闭边框时ResizeMode="NoResize",我会得到方角。我想保留圆角。

我看着创建一个不规则形状的窗口,通过使用AllowTransparency="True"它工作正常,但看起来不像一个 Aero 玻璃窗口。它看起来有点扁平。

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

4

2 回答 2

2

我认为实现这一点的唯一可能方法是使用半透明填充边框并将其绘制在整个窗口或您获得玻璃的部分上。这是一种解决方法,但我想这是一个可能的解决方案,因为玻璃的颜色是由系统用户定义的,并且此设置会覆盖您的设置。

于 2010-05-09T21:13:38.157 回答
1

我自己也在问同样的问题。

我还没有找到一个好的解决方案,尽管到目前为止我遇到的最好的方法是执行以下操作:

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

不幸的是,这会影响最小化、调整大小和关闭按钮,这是我宁愿避免的。

于 2011-05-11T09:57:45.613 回答