WPFでAqua風ボタンを作る
Windows Presentation Foundation (WPF)の、標準のButtonコントロールのControlTemplateをいじって、Mas OS XのAqua風ボタンを作ってみました。
…が、WPFのControlTemplateやらStyleについて勉強したてなので、やたらコードが長いです。一応動くのでとりあえずそのまま。
あまりにも長すぎるので、サンプルはここに上げておきます。
http://homepage.mac.com/mikaduki27/ouiPanda/AquaWindow.xaml.zip
実行結果はこんな感じ
上から順に、標準状態、デフォルトボタン (IsDefault=true)、無効状態 (IsEnabled=false)
一番上が、キーボードフォーカスの当たっている状態
一番上が、マウスカーソルは写っていませんが、ボタンの上でマウスダウン中の状態
だいたいMacのボタンに合わせるようにしていますが細かいところは違います。
特にデフォルトボタンの場合、本物の方は軽く明滅するアニメーションなわけですが、XAMLでどうやって実装しようかすぐに思いつかなかったので、悔しいですが枠線を太くしただけになっています。