[ゼロからはじめるWindows Phone 7プログラミング] 第4回 ~プログラムの仕組み / コントロール~
[ ゼロからはじめるWindows Phone 7プログラミング ] 第4回
~プログラムの仕組み / コントロール~
第2回の記事で簡単なプログラムを作成しました。
手順を簡単にまとめると、以下のようになります。
1. Windows Phone 7用のプロジェクトを作ります。
2. ツールボックスからコントロールを貼り付けて、ユーザーインターフェイスを作成します。
3. 貼り付けたコントロールのプロパティを変更して、見た目を変えます。
4. 貼り付けたコントロールをダブルクリックするなどしてイベントハンドラーを作成し、コードを記述します。
5. 実行して動きを確かめます。
手順1のプロジェクトについては、前回の記事で説明しました。
今回は、コントロールについて説明します。
[ コントロールとは ]
Visual Studioを使用したときに右側に表示されるツールボックスには、以下のように貼り付けることができるコントロールが並んでいます。
文字を表示させるときにはTextBlockコントロールを使い、文字を入力させるときにはTextBoxコントロールを使用するなど、使用したい機能をもったコントロールを貼り付けていきます。
これらのコントロールとは、何者なのでしょうか?
コントロールは、Silverlightの中でクラスとして提供されています。TextBlockコントロールの場合は、Silverlightのランタイムの中にそれに対応したTextBlockクラスというクラスが存在します。
Silverlightの中には、いろいろな機能を提供するクラスライブラリが存在し、そのクラスの中でユーザーインターフェイスに関連するものがコントロールとして提供されています。
クラスライブラリについては、後日説明する予定です。
[ ツールボックス以外のコントロール ]
実は、使えるコントロールはツールボックスに表示されているものが全てではありません。
ツールボックス上で右クリックして、[Choose Items]を選択すると、以下の[Choose Toolbox Items]ダイアログが表示されます。
このダイアログの中でチェックのついたコントロールのみがツールボックスに表示されているのです。
デフォルトでチェックが入っていないコントロールは、チェックを入れることでツールボックスに表示できます。
[ メソッド、プロパティ、イベント ]
TextBlockのようなクラスには、メソッド、プロパティ、イベントと呼ばれる要素が含まれています。これらの要素をまとめてメンバーと呼びます。
このメソッド、プロパティ、イベントとは何でしょうか?
メソッドとは、俗に言う関数で、メソッドを呼び出すことによって特定のプログラムを実行させます。
例えばMediaElementというコントロールは動画を再生するためのコントロールで、Silverlightの中ではMediaElementクラスとして存在します。
MediaElementクラスには、動画の再生を開始するためのPlayメソッドと、一時停止させるためのPauseメソッドがあります。これらのメソッドを呼び出すことで、動画の再生/一時停止を制御できます。
このように、あらかじめ用意されているメソッドを呼び出すことにより、特定の機能を実行できます。
プロパティとは、コントロールの見た目の要素などのことです。
TextBlockコントロールの場合は、文字の大きさを指定するFontSizeプロパティや、文字の色を指定するForegroudプロパティなどがあります。
プロパティは、値を代入することで値を変化させます。
プロパティに指定されている値を取得することもできます。
イベントとは、外部の状況が変わったときに発生するものです。
例えば、「ユーザーが文字をタップした」ときや「キーボードのキーが押された」というようなユーザーが何らかのアクションをしたときなどに発生します。
例えば、ButtonコントロールをタップしたときにはClickイベントが発生します。
メソッド、プロパティ、イベントは、コントロールごと、すなわちクラスごとに用意されているものが違います。
[TextBlockクラスの例 ]
TextBlockクラスにも、メソッド、プロパティ、イベントがあらかじめ用意されています。
どのようなメンバーが存在するかは、ヘルプであるMSDNライブラリを調べると情報が出てきます。
TextBlockクラスの場合は、下記ページをご覧ください。
https://msdn.microsoft.com/ja-jp/library/system.windows.controls.textblock_members(VS.95).aspx
TextBlockクラスには、多くのメソッド、プロパティ、イベントが含まれています。
これらを全て覚える必要はありません。よく使うメソッドやプロパティは限られていますし、自然と覚えていくものです。
[Hello Worldプログラムとの関係 ]
第2回の記事で作成したHello Worldプログラムでは、ButtonコントロールのClickイベントを使用しました。
プロパティは変更していませんが、プロパティウィンドウを使用してプロパティを変えることができるので、試してみましょう。
例えば、フォーム上のButtonコントロールを選択した状態で、プロパティウィンドウに表示されているContentと書かれた部分の右側にあるButtonという文字列を変更すれば、Buttonコントロールに表示されている文字列が変わります。
==========================================================
[ゼロからはじめるWindows Phone 7プログラミング]
第1回 : ~無償の開発環境を揃える~
第2回 : ~プログラム入門 : Hello Worldプログラムを作る~
第3回 : ~プログラムの仕組み / プロジェクト~
第4回 : ~プログラムの仕組み / コントロール~
マイクロソフト
田中達彦