WPFでアプリケーションを作成していますが、Office 2010アプリケーションのように、アプリケーションの上部をカラーからAeroガラスにフェードさせたいと考えています。
実際には、タイトルバーのすぐ下の領域がガラスから色にフェードインします。(私はそれを説明するためのより良い方法かもしれないと思います)。
WPFでアプリケーションを作成していますが、Office 2010アプリケーションのように、アプリケーションの上部をカラーからAeroガラスにフェードさせたいと考えています。
実際には、タイトルバーのすぐ下の領域がガラスから色にフェードインします。(私はそれを説明するためのより良い方法かもしれないと思います)。
私はそれを機能させる方法を考え出しました。ネイティブ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>
ミッコ・ランタネンの答えを1つ上げたのは、この記事を使用してガラス効果を追加したためです。コードが手元になく、シンプルな記事でした。
これは、Windowsエクスプローラー/インターネットエクスプローラーがアドレスフィールドの背後でAeroガラス効果を継続する方法を思い出させます。したがって、この種のエフェクト用のAPIがある場合、それはガラスエフェクトの拡張と同様にP/Invokeを介して呼び出す必要があるネイティブVistaAPIになると思います。WPFには、Vista固有のAeroテーマを制御する方法が実際にはありません。