WPF/Silverlight

2010年7月22日 (木)

ユーザコントロールとカスタムコントロールの違い?

前にも書きましたが、インフラジスティックスさんのNetAdvantageのライセンスを頂いたので、WPFとかSilverlightとかも勉強してみようかと。
VS2010を起動してプロジェクトテンプレートの一覧に
「WPF カスタム コントロール ライブラリ」と「WPF ユーザー コントロール ライブラリ」
ってありますが、使い分けがよくわかりません。
ネットを探してもあまり見つからなかったですし、たまたま購入していた「Silverlight リファレンスブック」には
 ユーザコントロールもコントロールの一種なので、依存関係プロパティを作成して外部からプロパティを指定することができます。
 しかし、多くの場合、ユーザコントロールには非常に多くのUI要素が配置されるので、配置されているすべてのコントロールの
 プロパティを指定できるように、依存関係プロパティを用意して表示や動作を変更するような使い方には適していません。
 カスタムコントロールは、ユーザインターフェイスを作成する際の部品として機能と表示をカプセル化したコントロールです。
 カスタムコントロールでは、依存関係プロパティを用意して表示や動作を変更できるようにします。
と記載されていますが、いまいち明確な機能差がよくわかりません。
なので、大雑把に
 ・「WPF カスタムコントロール ライブラリ」は、画面上に配置する部品(子コントロール)を作成する際に使用する
 ・「WPF ユーザコントロール ライブラリ」は、業務システム構築時に画面構成を共通化するような場面(レベル)で使用する
と思ってみます。