連載:〜ScottGu氏のブログより〜Silverlight 2の完全チュートリアル:Digg検索クライアントの構築Scott Guthrie 著/Chica 訳2008/11/21 |
|
|
Silverlight 2の理解を早められるように、簡単なSilverlightアプリケーションを書いて、その背後にあるさまざまなプログラミング概念(コントロール、レイアウト管理、ネットワーク、データバインド、スタイル、ユーザー・コントロール、テンプレートなど)を説明したステップ・バイ・ステップ形式のチュートリアルにまとめました。また、ブラウザー外にアプリケーションを移行し、WPFと完全版.NET Frameworkを使ったデスクトップ・アプリケーションとして実行できるようにする方法を紹介したチュートリアルも追加しています。
以下が、私がまとめた8つのチュートリアルへのリンクになります。
パート 1: Silverlight 2とVS 2008による“Hello World”
パート 2: レイアウト管理の使用
パート 3: データの取得とDataGridへのひも付けにネットワークを使用
パート 4: うまくルック&フィールをカプセル化するためにスタイル要素を使用
パート 5: ListBoxの使用と一覧データ表示のためのデータバインディング
パート 6: マスタ/詳細シナリオを実装するユーザー・コントロールの使用
パート 7: コントロールのルック&フィールのカスタマイズにテンプレートを使用
パート 8: WPFを使用してデスクトップ版のDiggアプリケーションを作成
チュートリアルで構築したアプリケーションは、人気のDigg.comサイトへの簡単な検索フロントエンドで、ユーザーは検索トピックを入力して、合致したDiggストーリーを閲覧できます。
<コードのダウンロード>
Diggクライアント・サンプルの完全版は、ここをクリックしてダウンロードしてください。
</コードのダウンロード>
アプリケーションのすべてのUIは、SilverlightにビルトインのWPF UIフレームワークを使用して構築されています。アプリケーションはSilverlightのネットワーク・スタックとクロスドメイン・アクセスを使用してDigg REST APIを直接検索し、返ってきたデータをLINQおよびLINQ to XMLを使用して検索/変換してDiggStoryオブジェクトへ格納し、UIに対してデータバインドしています。
図1 |
アプリケーションはマスタ/詳細データの相互作用モデルをサポートしているので、ユーザーは検索一覧からストーリーを選択し、その詳細について簡単に掘り下げることができます。詳細フォームから直接Diggアーティクルへジャンプしたり、それを閉じて別のストーリーを選択して掘り下げたりすることもできます。
図2 |
アプリケーション全体は、35行のC#のコードと75行のXAMLページ/ユーザー・コントロールのタグで実装されています。Silverilghtにビルトインされているコントロールとライブラリのみ使用しています。
<コードのダウンロード>
Diggクライアント・サンプルの完全版は、ここをクリックしてダウンロードしてください。
</コードのダウンロード>
もし以前からWPFをお使いだった場合、このチュートリアル・シリーズでお話したUIの概念はすべて非常になじみのあるものだと思います。もし以前にWPFをお使いでないなら、このチュートリアルは、その基本的なプログラミング概念の優れたオーバービューとなるはずです。そしてこれにより、Silverlight 2やWPFのアプリケーション構築を始めるのに必要な基礎知識を提供できれば幸いです。
Hope this helps,
「〜ScottGu氏のブログより〜」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|