ComboBox

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

ComboBox представляет выпадающий список. Каждый элемент этого списка является объектом ComboBoxItems:

<ComboBox>
    <ComboBoxItem>Windows Phone 8.1</ComboBoxItem>
    <ComboBoxItem>Android 5.0 Lollipop</ComboBoxItem>
    <ComboBoxItem>iOS 8</ComboBoxItem>
</ComboBox>
ComboBox in Windows Phone 8.1

Обрабатывая событие SelectionChanged, мы можем динамически получать выделенный элемент:

<StackPanel>
    <ComboBox PlaceholderText="Выбрать платформу" SelectionChanged="ComboBox_Selected">
        <!-- остальное содержимое списка-->
    </ComboBox>
    <TextBlock x:Name="textBlock1" FontSize="26" />
</StackPanel>

Обработка события в коде C#:

private void ComboBox_Selected(object sender, RoutedEventArgs e)
{
    ComboBox comboBox = (ComboBox)sender;
    ComboBoxItem selectedItem = (ComboBoxItem)comboBox.SelectedItem;
    textBlock1.Text=selectedItem.Content.ToString();
}

ComboBoxItem

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

<ComboBox>
    <ComboBoxItem IsSelected="True">
        <StackPanel Orientation="Horizontal">
            <Image Source="cat.jpg"  Width="60" />
            <TextBlock Margin="10">Кот</TextBlock>
        </StackPanel>
    </ComboBoxItem>
        <StackPanel Orientation="Horizontal">
            <Image Source="flowers.jpg" Width="60" />
            <TextBlock Margin="10">Цветы</TextBlock>
        </StackPanel>
        <StackPanel Orientation="Horizontal">
            <Image Source="dubi.jpg" Width="60" />
            <TextBlock Margin="10">Зима</TextBlock>
        </StackPanel>
</ComboBox>

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

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