かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

WPF4.5入門 その34 「ListBoxコントロール」

ListBoxコントロールは、1つまたは複数の項目をユーザーに選択させることが出来るコントロールです。基本的な使用方法は、ComboBoxコントロールと同様になります。ItemTemplateによる見た目の設定、ItemsSourceプロパティによる、選択項目の設定、SelectedItemプロパティやSelectedIndexプロパティによる選択項目の管理ができます。 これは、ListBoxコントロールとComboBoxコントロールが、同じSelectorコントロールを継承しているためです。ここでは、ListBoxコントロール固有のSelectionModeプロパティの説明のみを行います。

プロパティ 説明
public SelectionMode SelectionMode { get; set; } ユーザーがどのようにListBoxコントロールの項目を選択するか取得または設定します。SelectionMode列挙型は以下の値があります。Extended:Shiftキーを押しながら連続した複数項目を選択できる。Multiple:Shiftキーを押さなくても複数項目を選択できる。Single:単一項目を選択できる。

以下のようにSelectionModeプロパティに、Multipleを設定したときの動作例を以下に示します。

<ListBox x:Name="listBox" SelectionMode="Multiple">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <!-- Name プロパティを持つPersonクラス用のテンプレート -->
            <TextBlock Text="{Binding Name}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

f:id:okazuki:20140814205302p:plain

このように複数項目が、選択されている場合SelectedItemsプロパティで取得します。

プロパティ 説明
public IList SelectedItems { get; } 複数選択されている項目のリストを取得します。

過去記事