Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you do a gradient fade to Aero glass in a WPF application like Office 2010 does?

I am writing an application in WPF and I would like to have the top of the application fade from a color to Aero glass like the Office 2010 applications.

Really it will be fading the area just below the title bar from glass to a color. (I think that maybe a better way to describe it).

like image 272
Brian ONeil Avatar asked May 21 '09 18:05

Brian ONeil


2 Answers

I figured out how to get it to work. I set the entire window to have the aero glass effect on it using the native API's and then a create a LinearGradientBrush for my background of the window. In the brush I used the Alpha properties of the brush and set the stops to have the top of the window go from white/opaque to white/transparent all very close to the top of the window.

<Grid>
        <Grid.Background>
            <LinearGradientBrush StartPoint="1,0">
                <!-- This gradient stop is Fully transparent. -->
                <GradientStop Color="#00FFFFFF" Offset="0.0" />
                <!-- This gradient stop is fully opaque. -->
                <GradientStop Color="#FFFFFFFF" Offset="0.1" />
            </LinearGradientBrush>
        </Grid.Background>
</Grid>

I 1 up'd Mikko Rantanen's answer because I used the article to add the glass effect I didn't have the code handy and it was a good simple article.

like image 130
Brian ONeil Avatar answered Sep 20 '22 18:09

Brian ONeil


This reminds me of the way Windows Explorer/Internet Explorer continues Aero glass effect behind the address field. So I'd guess that if there is an API for this kind of effect, it will be a native Vista API which you need to call through P/Invoke similar to extending the glass effect. WPF doesn't really have any methods to control the Vista specific Aero theme I believe.

like image 41
Mikko Rantanen Avatar answered Sep 21 '22 18:09

Mikko Rantanen