かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

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; } 複数選択されている項目のリストを取得します。

過去記事