5

我正在 WPF 中编写一个应用程序,我希望应用程序的顶部从一种颜色淡化为 Aero 玻璃,如 Office 2010 应用程序。

实际上,它会将标题栏下方的区域从玻璃淡化为一种颜色。(我认为这可能是描述它的更好方式)。

4

2 回答 2

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 分,因为我使用这篇文章添加了玻璃效果,我没有方便的代码,这是一篇很好的简单文章。

于 2009-05-22T21:07:44.023 回答
1

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

于 2009-05-21T22:37:40.743 回答