2010年5月11日火曜日

UserControlのCode behindをDataContextに指定する方法

一つ前のポストでUserControlを独自の基本クラスから継承する方法を解説したが、そのクラスをDataContextに指定する方法を解説する。

と言ってもやることは至極簡単で下記のようにDataContextに対してRelativeSource Selfを指定するだけだ。

<localModel:BaseUserControl x:Class="MyWebCrawler.Controls.Keyword"
xmlns:localModel="clr-namespace:MyWebCrawler.Models"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
</localModel:BaseUserControl>

これでそのXAML自身をDataContextとすることができたので基本クラスなどに実装されているPropertyをBinding先として指定できる。ただ、DataContextに指定するクラスがINotifyPropertyChangedを継承するか、またはDependency Propertyを使用することを忘れないように注意しよう。

0 件のコメント:

コメントを投稿