Changing the colour of Aero glass for my window?
Asked Answered
M

2

8

I'm using DwmExtendFrameIntoClientArea in my WPF application to get the glass effect. This is working fine. What I'd like to do is change the colour used for the glass -- I'm writing a countdown timer, and I'd like the window to be the normal glass colour most of the time, and then to go red (but still with glass) when the time runs out.

I found this question, which talks about how to apply a gradient glass, and that works fine when picking a different colour. Unfortunately, the borders are not coloured appropriately.

When I turn off the borders by using ResizeMode="NoResize", then I end up with square corners. I'd like to keep the rounded corners.

I looked at creating an irregularly-shaped window, by using AllowTransparency="True" and that works fine, but doesn't look like an Aero glass window. It looks a bit flat.

So: my question: how do I create a window in WPF that looks like Aero glass transparency, but uses a different colour?

Maxwellmaxy answered 23/9, 2009 at 8:19 Comment(1)
I am trying to implement my own Aero glass effect. I am very close on getting the solution. Please look at: #10005302 Maybe we can come up with a solution...Araceli
M
2

I think the only possible way to achieve this is to use a semi-transparent filled border and draw it over the entire window or the part you got the glass. Its a workaround but I guess it's a possible solution since the color of the glass gets defined by the system-user and this setting would overwrite yours.

Malathion answered 9/5, 2010 at 21:13 Comment(0)
B
1

I'm asking the same question myself.

I haven't found a good solution, though the best I've come across so far is doing the following:

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

Unfortunately this tints the minimize, resize and close buttons, which I would rather avoid.

Benitabenites answered 11/5, 2011 at 9:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.