WPF控件之ComboBox

本文详细介绍WPF中ComboBox控件的基本使用方法,包括创建、添加项目、样式修改、显示图片、绑定数据等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WPF ComboBox

WPF ComboBox

创建一个ComboBox控件,并设置ComboBox控件的名称,高度,宽度。及设置ComboBox的垂直和水平对齐。

<ComboBox Name="ComboBox1" Width="200" Height="30" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,10,0,0"></ComboBox>

输出结果如图所示:


添加ComboBox项

<ComboBox Name="ComboBox1" Width="200" Height="30" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,10,0,0">
<ComboBoxItem Content="太原"></ComboBoxItem>
<ComboBoxItem Content="北京" IsSelected="True"></ComboBoxItem>
<ComboBoxItem Content="石家庄"></ComboBoxItem>
<ComboBoxItem Content="哈尔滨"></ComboBoxItem>
<ComboBoxItem Content="合肥"></ComboBoxItem>
<ComboBoxItem Content="南京"></ComboBoxItem>
</ComboBox>

IsSelected属性为ComboxBox中的默认选中项

输出结果如图所示:

在运行时添加和删除ComboBox项

XAML

<StackPanel Orientation="Horizontal" Height="40" VerticalAlignment="Top">
<ComboBox Name="ComboBox1" Width="100" Margin="5" VerticalContentAlignment="Center">
<ComboBoxItem Content="太原"></ComboBoxItem>
<ComboBoxItem Content="北京" ></ComboBoxItem>
<ComboBoxItem Content="石家庄"></ComboBoxItem>
<ComboBoxItem Content="哈尔滨"></ComboBoxItem>
<ComboBoxItem Content="合肥"></ComboBoxItem>
<ComboBoxItem Content="南京"></ComboBoxItem>
</ComboBox>
<TextBox Width="100" Margin="5" x:Name="ItemNames" VerticalContentAlignment="Center"></TextBox>
<Button Margin="5" Content="添加" x:Name="Add" Width="60" Click="Add_Click"></Button>
<Button Margin="5" Content="删除" x:Name="Delete" Width="60" Click="Delete_Click"></Button>
</StackPanel>

CS

private void Add_Click(object sender, RoutedEventArgs e)
{
if(!string.IsNullOrEmpty(ItemNames.Text))
ComboBox1.Items.Add(ItemNames.Text);
}

private void Delete_Click(object sender, RoutedEventArgs e)
{
ComboBox1.Items.RemoveAt(ComboBox1.Items.IndexOf(ComboBox1.SelectedItem));
}

输出结果如图所示:


修改ComboBoxItem样式

<ComboBox Name="ComboBox1" Width="100" Margin="5" VerticalContentAlignment="Center">
<ComboBoxItem Content="太原" Background="LightGray" Foreground="Black" FontFamily="Georgia" FontSize="14" FontWeight="Bold"></ComboBoxItem>
<ComboBoxItem Content="北京" Background="LightBlue" Foreground="Purple" FontFamily="Verdana" FontSize="12" FontWeight="Bold"></ComboBoxItem>
<ComboBoxItem Content="石家庄" Background="LightGreen" Foreground="Green" FontFamily="Georgia" FontSize="14" FontWeight="Bold"></ComboBoxItem>
<ComboBoxItem Content="哈尔滨" Background="LightBlue" Foreground="Blue" FontFamily="Verdana" FontSize="12" FontWeight="Bold"></ComboBoxItem>
<ComboBoxItem Content="合肥" Background="LightSlateGray" Foreground="Orange" FontFamily="Georgia" FontSize="14" FontWeight="Bold"></ComboBoxItem>
</ComboBox>

输出结果如图所示:

在ComboBoxItem项中显示图片

<ComboBoxItem Background="LightGray" Foreground="Black" FontFamily="Georgia" FontSize="14" FontWeight="Bold">
<StackPanel Orientation="Horizontal">
<Image Source="Image\12.jpg" Height="30" Width="30"></Image>
<TextBlock Text="太原" VerticalAlignment="Center"></TextBlock>
</StackPanel>
</ComboBoxItem>

输出结果如图所示:

将复选框添加到ComboBoxItem

<ComboBoxItem Background="LightGray" Foreground="Black" FontFamily="Georgia" FontSize="14" FontWeight="Bold">
<CheckBox Name="TaiYuanCheckBox">
<StackPanel Orientation="Horizontal">
<Image Source="Image\12.jpg" Height="30" Width="30"></Image>
<TextBlock Text="太原" VerticalAlignment="Center"></TextBlock>
</StackPanel>
</CheckBox>
</ComboBoxItem>

输出结果如图所示:

获取当前选定项的值

string str= ComboBox1.SelectedItem.ToString();


数据绑定

 public class Info
    {
        public int Id { get; set; }
        public string Name { get; set; }

    }
        //绑定用户类型
        private void bindUserType()
        {
            IList<Info> list = new List<Info>() { 
             new Info(){ Id=0, Name="供应商"}, new Info(){ 
              Id=1, Name="bbbbbb"} 
             
            };
            cobxUserType.ItemsSource = list;
            cobxUserType.SelectedValuePath = "Id";
            cobxUserType.DisplayMemberPath = "Name";


        }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值