« [.NET] ASP.NET で User-Agent の長さを 512 文字に拡張するパッチ | トップページ | Re: おそらく多くの VSS は 6.0(d) のはず »

2010年2月20日 (土)

[WPF] 盾アイコン付きのボタンを作る (続)

先月 28日に、 「簡単に出来るよ~」 と書いたあとで、 サンプルコードを作ったんだけど、 記事にするのをすっかり忘れてました f(^^;

Stockiconsample20100129a

Windows Vista 以降用意された、 システムが持っているアイコン (Shell Icon) を取り出す API SHGetStockIconInfo を使ってリソースを取ってくるコード VistaBridge.UI.StockIcons クラスが Yves Dolce で公開されていますので、 それを使います。

そうしたら、 xaml の先頭で

xmlns:vbu="clr-namespace:VistaBridge.UI"

として、 その名前空間を取り込んでおき、 Image のソースとして

Source="{x:Static vbu:StockIcons.Shield}"

と指定してあげるだけです。

実際にはテンプレートで指定すべきでしょうけど、 直にボタンの中に書くなら、 こんなふう。
Stockiconsample20100129b
Button の中に StackPanel を置き、 その中に Image と TextBlock を並べます。 で、 Image のソースには前述のように StockIcons クラスのプロパティを指定してあげるわけ。

あるいは、 コードから設定するなら、
Stockiconsample20100129c
Image の Source プロパティに、 StockIcons.Shield や StockIcons.MediaBluRay などと、 すきなものを設定してあげるだけです。 ここでは、 てきとーに 3種類のアイコンを切り替えられるようにしてみました。 (MVVM なんてめんどーなことはやってません f(^^; )

なお、 「盾アイコンは UAC のためだけに使うよーに」 (Use for UAC prompts only.) っていうお達しがあります。 濫用はしないでくださいね。

ソースコードはこちら ⇒ StockIconSample20100129.zip  (44.3 KB; VS2010用ソリューション)

|

« [.NET] ASP.NET で User-Agent の長さを 512 文字に拡張するパッチ | トップページ | Re: おそらく多くの VSS は 6.0(d) のはず »

* プログラミング ( WPF )」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/209349/47619053

この記事へのトラックバック一覧です: [WPF] 盾アイコン付きのボタンを作る (続):

« [.NET] ASP.NET で User-Agent の長さを 512 文字に拡張するパッチ | トップページ | Re: おそらく多くの VSS は 6.0(d) のはず »