さまざまなコントロールの利用 (4/6)
作成:2011-10-03 08:05
更新: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ではコレクションとして選択項目が取り出せる」ということさえ知っていれば、それほど難しいものではありませんね。
このSelectionModeは、デフォルトでは「Single」に設定されています。これを「Multiple」に設定すると、複数項目が選択可能となります。この場合、ListBoxの挙動は、ちょうどチェックボックスが並んだような感じになります(見た目は変わりませんが)。つまり、1つ1つの項目をクリックしてON/OFFできるようになるのです。
j複数項目の選択を行う場合、選択した項目の処理も変わってきます。以下にサンプルを掲載したのでそちらを見てください。これは前ページのサンプルを複数項目対応に修正したものです。
ここでは、選択した項目の取得は「SelectedItems」というものになっています。複数形の「s」がついているのがわかりますね。このSelectedItemsはコレクションになっており、値をそのままforeachで順に取り出し処理していくことが可能です。
とり出される値は、もちろんListBoxItemです。ですから、繰り返しで取り出したオブジェクトからContentなどを使って必要な情報を取得して処理すれば良いのです。「Multipleではコレクションとして選択項目が取り出せる」ということさえ知っていれば、それほど難しいものではありませんね。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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プログラミング入門」に戻る