2013年01月20日

WPFサンプル:独自クラスをResourcesに指定し、StaticResourceで参照する

   このエントリーをはてなブックマークに追加 Clip to Evernote
独自のカスタムクラスをリソースに定義する例です。

サンプルでは、このPersonオブジェクトを、StaticResource マークアップ拡張を
使いTextBlockのTextプロパティにバインドしています。

WPFCustomClassResource

ここでは、C#側で定義したPersonクラスをWindows.Resourcesに追加し、インスタンスを生成しています。
XAMLに記述することで、インスタンスも生成されますので、C#側で Personクラスをnewする必要はありません。
この時、Name Ageの2つのプロパティに値を与えています。
このインスタンスが、MainWindowクラスのResourcesプロパティ(コレクションオブジェクト)に保持されるわけです。
xmlns属性で、Personクラスが定義してある名前空間を指定している点に注目してください。

ただ、本来は、固定的な値を扱いたいときに利用するものなので、Pseronクラスのような
オブジェクトをバインドするときには、StaticResourceを使って各プロパティをバインドする
のではなく、
WPFサンプル:単一データのバインディング の後半で示したように、DataContextを使うのが普通だと思います。






 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52299560