【问题标题】:Changing the colour of Aero glass for my window?为我的窗户改变 Aero 玻璃的颜色?
【发布时间】:2009-09-23 08:19:08
【问题描述】:

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

我找到了this question,它讲述了如何应用渐变玻璃,并且在选择不同颜色时效果很好。不幸的是,边框颜色不合适。

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

我研究过使用AllowTransparency="True" 创建一个不规则形状的窗户,效果很好,但看起来不像 Aero 玻璃窗户。它看起来有点平。

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

【问题讨论】:

标签: wpf aero aero-glass


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    不幸的是,这会使最小化、调整大小和关闭按钮着色,我宁愿避免这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-24
      • 2011-09-21
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多