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でどうやって実装しようかすぐに思いつかなかったので、悔しいですが枠線を太くしただけになっています。