The Silverlight Geek - カスタムコントロールの作成 - 標準スターターアプリケーション
カスタムコントロールについて調べるに当たって、標準的に使うスタータープロジェクトがあると便利でしょう。12日のポストを覚えておられるかも知れませんが、1つのソリューションに3つのプロジェクトをおいて、5つのファイルをインポートした構造をお見せしました。
1. クラスライブラリ内のRating.cs。これはロジックとメソッドだけでなく、カスタムコントロールの属性も定義します。属性はコントラクトを定義し、Blendのようなツールの助けを借りて、コントロールをスキン対応にしてくれます。
2. 同じくクラスライブラリ内に、generic.xamlという名前でなければならないファイルがあり、カスタムコントロールのデフォルトの見かけがここで定義されます(Xamlが使われます)。
3. アプリケーションには三つのファイルがあり(これは普段通りです)、重要な役目を果たします:Page.xamlとPage.xaml.csとApp.xamlです。これらは普段通りに働きます。つまり、Page.xamlはコントロールのインスタンスを生成します。Page.xamlは、デフォルトのルック・アンド・フィールを変更するために、Page.xamlか(こちらの方がよくありますが)App.xamlからテンプレートを取ってくるTemplate文を含んでいるかも知れません。
4. Page.xaml.csには、アプリケーションのロジックがあります(コントロールのではなく)。これはいつもの通り。
5. App.xamlには、ボタンやチェックボックスの場合でもそうするように、新しく作成したカスタムコントロールのテンプレートを置くことになるかも知れません。
これらのファイルを使って作ったスターターアプリケーションを、ここに置いておきました。スターターアプリケーションはこのプログラムの構造を配置しただけのもので、関連する三つの目的で使っていきます。
1. 集約したチュートリアル(10/13ごろに公開予定です)
2. 1-2週間以内に作成する予定の一連のビデオ
3. より深く掘り下げるblogエントリ。おもしろい内容にしたいと思っています。
ここでいただいた示唆を受けて、チュートリアルは非常に集約された内容にします。その一方で、blogとビデオの内容は、より中級レベルの知識を前提にしたものにするつもりです。このトピック(テンプレート対応カスタムコントロール)に興味がおありでしたら、以下の材料から初めていただくといいでしょう。
blogのエントリ
* Dependency Properties - Background(未訳)
チュートリアル
* Templates and Visual State Manager
ビデオ
読んでくれてありがとう。
(原文はこちら)
- Jesse Liberty - Silverlight Geek 最新エントリ