2009-05-21 8 views
5

私はWPFでアプリケーションを作成しています。アプリケーションのトップが色からOffice 2010アプリケーションのようなAeroガラスに色あせないようにしたいと考えています。Office 2010のようなWPFアプリケーションでAeroガラスにグラデーションフェードを行うにはどうすればよいですか?

実際にはタイトルバーのすぐ下の領域がガラスから色に退色します。 (私はそれを記述するより良い方法かもしれないと思う)。

+0

リンクが403で禁止されています –

答えて

8

私はそれを動作させる方法を考え出しました。私はネイティブAPIを使用してウィンドウ全体に空中ガラス効果を持たせ、ウィンドウの背景のためにLinearGradientBrushを作成します。ブラシでは、ブラシのアルファプロパティを使用して、ウィンドウの上部を非常に近くに白/不透明から白/透明に移動させるためにストップを設定しました。私はガラスの効果を追加するために記事を使用しているためミッコ・ランタナンの答えup'd

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

I 1は、私が便利なコードを持っていなかったし、それは良いシンプルな記事でした。

+0

+1:これはクールです(しかし、境界線は変わりません) –

1

これは、Windowsエクスプローラ/ Internet Explorerがアドレスフィールドの背後にあるAeroガラス効果を引き継ぐ方法を思い出させます。だから私は、この種の効果のためのAPIがあれば、extending the glass effectに似たP/Invokeを介して呼び出す必要があるネイティブのVista APIになると思います。 WPFには、私が信じるVista特有のAeroテーマを制御する方法はありません。

+0

記事ありがとうございました。私は以前にアプリケーションに拡張ガラスを使用していましたが、いくつかの例を見ましたが、それを使ってグラデーションを作成することは別の問題です。 –