ComboBox

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

ComboBox представляет раскрывающийся список. Он применяется, чтобы предоставить пользователю возможность выбрать одно из значений в списке. ComboBox больше подходит для выбора элементов, которые представляют обычные строки. Хотя более сложные данные также можно добавлять в ComboBox.

Если элементов в списке меньше пяти, то оптимальнее использовать для выбора набор элементов RadioButton или CheckBox.

Например, определим простейший элемент ComboBox:

<Page
    x:Class="DataApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:DataApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <ComboBox Name="phonesList" Header="Смартфоны" PlaceholderText="Выберите смартфон">
            <x:String>iPhone 7</x:String>
            <x:String>Samsung Galaxy S8</x:String>
            <x:String>Huawei P10</x:String>
            <x:String>LG G6</x:String>
            <x:String>HP Elite z3</x:String>
        </ComboBox>
        <TextBlock Text="{Binding ElementName=phonesList, Path=SelectedItem}" />
    </StackPanel>
</Page>
ComboBox в Universal Windows Platform ComboBox в UWP

ComboBoxItem

В ComboBox можно добавлять различные компоненты, например, текстовые блоки, но кроме того специально для ComboBox определен класс ComboBoxItem, который представляет отдельный элемент списка. ComboBoxItem представляет элемент управления содержимым, в который через свойство Content мы можем поместить другие элементы. Например:

<ComboBox Width="200">
    <ComboBoxItem IsSelected="True">
        <StackPanel Orientation="Horizontal">
            <Image Source="assets/oduvanchiki.jpg"  Width="60" />
            <TextBlock>Одуванчики</TextBlock>
        </StackPanel>
    </ComboBoxItem>
    <StackPanel Orientation="Horizontal">
        <Image Source="assets/kamni.jpg" Width="60" />
        <TextBlock>Камни</TextBlock>
    </StackPanel>
    <StackPanel Orientation="Horizontal">
        <Image Source="assets/siren.jpg" Width="60" />
        <TextBlock>Сирень</TextBlock>
    </StackPanel>
</ComboBox>
Выпадающий список в Universal Windows Platform

Для создания первого элемента использовался элемент ComboBoxItem. Для второго и третьего такие элементы создаются неявно. Однако использование ComboBoxItem имеет преимущество, так как мы можем выделить данный элемент, установив свойство IsSelected="True", либо можем сделать недоступным с помощью установки свойства IsEnabled="True".

Но хотя мы можем выводить в ComboBox сложные объекты с изображениями и различными свойствами, но для этого все же лучше использовать более специализированные элементы типа ListView или GridView.

Во всем остальном, что касается обработки выбора элемента, привязки к сложным коллекциям, использования DataTemplate ComboBox работает также, как и другие элементы-списки, например, ListBox.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850