Как вы выполняете переход градиента в Aero glass в приложении WPF, подобном Office 2010?
-
23-08-2019 - |
Вопрос
Я пишу приложение в WPF, и я хотел бы, чтобы верхняя часть приложения сменила цвет на Aero glass, как в приложениях Office 2010.
На самом деле это приведет к превращению области чуть ниже строки заголовка из стеклянной в цветную.(Я думаю, что, возможно, это лучший способ описать это).
Решение
Я понял, как заставить это работать.Я настроил все окно так, чтобы на нем был эффект aero glass, используя собственный API, а затем создал LinearGradientBrush для моего фона окна.В кисти я использовал альфа-свойства кисти и установил ограничители, чтобы верхняя часть окна менялась с белой / непрозрачной на белую / прозрачную, все очень близко к верхней части окна.
<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>
Я 1 улучшил ответ Микко Рантанена, потому что я использовал статью для добавления эффекта стекла, у меня не было под рукой кода, и это была хорошая простая статья.
Другие советы
Это напоминает мне о том, как проводник Windows / Internet Explorer продолжает эффект Aero glass за полем адреса.Поэтому я бы предположил, что если существует API для такого рода эффектов, это будет собственный Vista API, который вам нужно вызвать через P / Invoke, аналогичный усиливающий эффект стекла.Я полагаю, что у WPF на самом деле нет никаких методов для управления темой Aero, специфичной для Vista.