libro
www.tuyano.com
初心者のためのWindows Phoneプログラミング入門

さまざまなコントロールの利用 (3/6)

作成:2011-10-03 08:04
更新:2011-10-03 08:04

■ListBoxによるリスト表示

一覧リストを表示するのに用意されているのが「ListBox」というインターフェイスです。これは、HTMLの<select>タグのように、あらかじめ用意しておいた項目を表示し選択するためのものです。

このListBoxは、配置しただけでは役に立ちません。配置後、表示する項目を登録する必要があります。これには2通りの方法があります。ListBoxではリソースをバインドする「ItemSource」と、項目を設定する「Items」の2つのプロパティが用意されており、そのどちらを使っても項目の設定が行えるようになっているのです。

ここでは、簡単に項目を組み込める「Items」プロパティを使ってみましょう。XAMLファイルにListBoxを配置し、プロパティから「Items」の右端にある「...」ボタンをクリックしてください。画面に「コレクションエディター」というダイアログが現れます。ここで、左側のリスト上部にある「追加」ボタンを押せば、リストに新しい項目が追加されます。

追加された項目は、右側に表示されるプロパティを設定して表示内容などを決めていきます。とりあえず「Content」プロパティだけ記述しましょう。これは、画面に表示されるテキストを指定するものです。これでリストの表示が作成できます。

では、作成したListBoxの操作はどのように行うのでしょうか。これは、「選択した時のイベント処理」と「選択された項目の処理」を理解しておく必要があるでしょう。

まず「選択した時のイベント」ですが、これは「SelectionChanged」というものが用意されています。文字通り、項目を選択したときに発生するものです。これを利用してメソッドをバインドし処理すればいいでしょう。

選択された項目は「SelectedItem」というプロパティで得ることができます。ここで得られるのは「SelectedItem」というクラスのインスタンスです。ここから、取得した項目に関する情報を取り出します。表示されるテキストは、「Content」プロパティで取り出せばいいでしょう。また、選択した項目の番号(インデックス)を知りたいだけなら、「SelectedIndex」というプロパティを使うといいでしょう。

下に簡単な利用例を挙げておきます。ListBoxSelectionChangedにバインドして動かしてみましょう。リストをクリックすると、その項目の番号とテキストが表示されます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

private void selectChanged(object sender, SelectionChangedEventArgs e)
{
	int n = listBox1.SelectedIndex;
	ListBoxItem item = (ListBoxItem)listBox1.SelectedItem;
	textBlock1.Text = "selected: " +n + ":" + item.Content;
}

※関連コンテンツ

「初心者のためのWindows Phoneプログラミング入門」に戻る