在Office 2010这样的WPF应用程序中,如何对Aero glass进行渐变淡化?

时间:2009-05-21 18:33:54

标签: c# .net wpf aero aero-glass

我正在WPF中编写一个应用程序,我希望应用程序的顶部从一种颜色逐渐淡化到Aero玻璃,就像Office 2010应用程序一样。

真的会将标题栏下面的区域从玻璃褪色到一种颜色。 (我认为这可能是一种更好的描述方式)。

2 个答案:

答案 0 :(得分:8)

我想出了如何让它发挥作用。我将整个窗口设置为使用本机API对其进行空气玻璃效果,然后为窗口背景创建一个LinearGradientBrush。在画笔中我使用了画笔的Alpha属性并设置了停靠点,使窗口的顶部从白色/不透明变为白色/透明,非常靠近窗口的顶部。

<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>

我得到了Mikko Rantanen的回答,因为我用这篇文章添加了玻璃效果,我没有方便的代码,这是一篇很好的简单文章。

答案 1 :(得分:1)

这让我想起了Windows资源管理器/ Internet Explorer在地址字段后面继续Aero玻璃效果的方式。所以我猜如果有这种效果的API,它将是一个原生的Vista API,你需要通过类似于extending the glass effect的P / Invoke来调用它。 WPF并没有任何方法来控制我认为的Vista特定的Aero主题。