Как вы выполняете переход градиента в Aero glass в приложении WPF, подобном Office 2010?

StackOverflow https://stackoverflow.com/questions/894397

Вопрос

Я пишу приложение в 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top