ListBox

Последнее обновление: 31.10.2015

ListBox представляет собой обычный список. Содержит коллекцию элементов ListBoxItem. Также ListBox может содержать любые другие элементы, например, текстовые блоки, кнопки, тогда в этом случае они неявно обертываются в элемент ListBoxItem:

<ListBox x:Name="listbox1" FontSize="26">
    <TextBlock FontWeight="Bold" Text="Планшеты" />
    <ListBoxItem Background="LightGray">LG G Pad 8.0</ListBoxItem>
    <ListBoxItem>Samsung Galaxy Tab 4</ListBoxItem>
    <ListBoxItem Background="LightGray">Samsung Galaxy Tab S</ListBoxItem>
    <ListBoxItem>Lenovo Yoga Tablet 8</ListBoxItem>
    <ListBoxItem Background="LightGray">Apple iPod Air 2</ListBoxItem>
    <ListBoxItem>Sony Xperia Z3 Tablet Compact</ListBoxItem>
</ListBox>
Элемент ListBox в Windows Phone 8.1

Все эти элементы будут находиться в коллекции Items и, таким образом, по счетчику можно к ним обращаться, например, listbox1.Items[0] - первый элемент ListBox, который в данном случае представляет TextBlock. Также мы можем установить элемент: listbox1.Items[2]="Германия";

Так как ListBoxItem является элементом управления содержимым, то мы можем задавать в качестве элемента списка и более сложные композиции элементов, например:

<ListBox Name="Photos" FontSize="22">
    <ListBoxItem>
        <StackPanel Orientation="Horizontal">
            <Image Source="cat.jpg" Width="60" />
            <TextBlock Margin="10">Кот</TextBlock>
        </StackPanel>
    </ListBoxItem>
    <StackPanel Orientation="Horizontal">
        <Image Source="dubi.jpg" Width="60" />
        <TextBlock Margin="10">Зима</TextBlock>
    </StackPanel>
    <StackPanel Orientation="Horizontal">
        <Image Source="flowers.jpg" Width="60" />
        <TextBlock Margin="10">Цветы</TextBlock>
    </StackPanel>
</ListBox>

Выбор элементов

ListBox поддерживает множественный выбор. Для этого нужно установить свойство SelectionMode="Multiple" или SelectionMode="Extended". В последнем случае, чтобы выделить несколько элементов, необходимо держать нажатой клавишу Ctrl или Shift. По умолчанию SelectionMode="Single", то есть допускается только единственное выделение.

Чтобы обработать выбор элемента в ListBoxе, мы можем добавить обработчик к событию SelectionChanged:

<StackPanel>
    <ListBox x:Name="listbox1" FontSize="22" SelectionMode="Single" SelectionChanged="listbox1_SelectionChanged">
        <ListBoxItem>LG G Pad 8.0</ListBoxItem>
        <ListBoxItem>Samsung Galaxy Tab 4</ListBoxItem>
        <ListBoxItem>Apple iPod Air 2</ListBoxItem>
    </ListBox>
    <TextBlock x:Name="textBlock1" FontSize="26" />
</StackPanel>

В коде C# мы можем использовать свойство SelectedItem, чтобы получить выбранный элемент:

private void listbox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    textBlock1.Text = ((ListBoxItem)listbox1.SelectedItem).Content.ToString();
}
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850