.net4.5でAero効果の効いたウィンドウを作る
という内容でブログ書こうとしたら、
今使ってるWin8のPCでは背景が透けたGlassエフェクトのウィンドウは作成できないことに気付きました。
ということで、以下はvista or Win7 & .net4.5を使った簡単なGlassエフェクト付ウィンドウの作り方です。
■補足 Win8では、Aero-glassのテーマがなくなっているため、 vistaやwin7で使われていた、すりガラスっぽい半透明のウィンドウは表示できないようです。
簡単な半透過ウィンドウの作り方
以前、以下のような方法で、Glassエフェクトを付けた半透過ウィンドウを作りました。
http://d.hatena.ne.jp/minami_SC/20120730/1343665730
しかし、.net4.5では、WindowChromeというクラスが標準ライブラリに追加されています。
この、WindowChromeクラスのGlassFrameThicknessプロパティを設定すれば、ウィンドウのクライアント領域までGlassエフェクトを適用できます。
(.net4以前では、WPF Shell Integration Libraryを使うことで、同様のことができるようです。)
やってることは、以下の2点です。
タグを設定 - Windowの背景色をTransparentに設定
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Background="Transparent"> <WindowChrome.WindowChrome> <WindowChrome GlassFrameThickness="-1"/> </WindowChrome.WindowChrome> <Grid> </Grid> </Window>