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

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

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

■ListBoxでの複数項目選択

ListBoxは、単純に1つの項目だけを選択する他に、複数の項目を選択させることもできます。これは「SelectionMode」という属性を使います(プロパティの「その他」というところにあります)。

このSelectionModeは、デフォルトでは「Single」に設定されています。これを「Multiple」に設定すると、複数項目が選択可能となります。この場合、ListBoxの挙動は、ちょうどチェックボックスが並んだような感じになります(見た目は変わりませんが)。つまり、1つ1つの項目をクリックしてON/OFFできるようになるのです。

j複数項目の選択を行う場合、選択した項目の処理も変わってきます。以下にサンプルを掲載したのでそちらを見てください。これは前ページのサンプルを複数項目対応に修正したものです。

ここでは、選択した項目の取得は「SelectedItems」というものになっています。複数形の「s」がついているのがわかりますね。このSelectedItemsはコレクションになっており、値をそのままforeachで順に取り出し処理していくことが可能です。

とり出される値は、もちろんListBoxItemです。ですから、繰り返しで取り出したオブジェクトからContentなどを使って必要な情報を取得して処理すれば良いのです。「Multipleではコレクションとして選択項目が取り出せる」ということさえ知っていれば、それほど難しいものではありませんね。

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

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

●プログラム・リスト●

private void selectChanged(object sender, SelectionChangedEventArgs e)
{
	string msg = "selected:";
	foreach(ListBoxItem item in listBox1.SelectedItems){
		msg += "\n" + item.Content;
	}
	textBlock1.Text = msg;
}

※関連コンテンツ

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