2009-09-23 61 views
8

我在我的WPF應用程序中使用DwmExtendFrameIntoClientArea來獲得玻璃效果。這工作正常。我想要做的是改變玻璃的顏色 - 我正在寫一個倒數計時器,並且我希望窗戶大部分時間是正常的玻璃顏色,然後變紅(但是當時間用完時,仍然用玻璃)。爲我的窗戶改變航空玻璃的顏色?

我發現this question,它討論瞭如何應用漸變玻璃,並且在選取不同的顏色時工作正常。不幸的是,邊界沒有適當的顏色。

當我使用ResizeMode="NoResize"關閉邊框時,我最終得到方角。我想保留圓角。

我看着創建一個不規則形狀的窗口,使用AllowTransparency="True",並且工作正常,但看起來不像Aero玻璃窗口。它看起來有點平坦。

所以:我的問題:我如何在WPF中創建一個窗口,看起來像Aero玻璃透明,但使用不同的顏色?

+0

我想實現我自己的Aero玻璃效果。我非常接近解決方案。請看看:http://stackoverflow.com/questions/10004802/create-vista-glass-effect-on-wpf-with-custom-color也許我們可以想出一個解決方案... – 2012-04-04 17:12:29

回答

2

我認爲實現這一目標的唯一可行方法是使用半透明填充邊框,並將其繪製在整個窗口或您獲得玻璃的部分上。它的解決方法,但我想這是一個可能的解決方案,因爲玻璃的顏色被系統用戶定義並且這個設置會覆蓋你的。

1

我自己也在問同樣的問題。

我還沒有找到一個很好的解決方案,但我已經遇到到目前爲止做以下最佳:

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

不幸的色調最小化,調整大小和關閉按鈕,我寧願避免。