WPF中的ComboBox

本文介绍了WPF中ComboBox控件的使用,特别是SelectedIndex、SelectedItem、SelectedValue、SelectedValuePath和SelectionBoxItem的区别。通过创建WeekDay枚举并绑定到ComboBox,展示了不同选择状态下的属性值变化。

ComboBox是常用的一种控件。Combox中选项往往和枚举(enum)相对应。

在WPF中,ComboBox有SelectedIndex, SelectedItem, SelectedValue, SelectedValuePath和SelectionBoxItem。这么多和Select相关是不是有点晕?接下来,我们运行一些code来看看他们之间的区别。


创建WeekDay枚举类型



创建WeekDayWrapper类(如果每个枚举值需要显示其他形式的信息,我们就可以创建Wrapper类,把额外的信息给包含进来。)

### WPF ComboBox 控件使用方法 #### 1. 基本属性设置 `ComboBox` 是一种常见的下拉列表控件,在 Windows Presentation Foundation (WPF) 应用程序中广泛用于提供用户输入选项。通过 `ItemsSource` 属性可以指定组合框的数据源,而 `DisplayMemberPath` 则定义了显示给用户的成员名称[^1]。 ```xml <ComboBox Name="comboBox1" ItemsSource="{Binding GradesProp}" DisplayMemberPath="GradeName"/> ``` 这段 XAML 定义了一个名为 `comboBox1` 的组合框,并将其项源绑定到视图模型中的 `GradesProp` 集合上,同时指定了要显示的字段为 `GradeName`。 #### 2. 直接在 XAML 中添加项目 除了动态绑定外,还可以直接在 XAML 文件内静态地向 `ComboBox` 添加子元素 `ComboBoxItem` 来填充内容[^2]: ```xml <ComboBox Grid.Column="1" Height="23" Name="cmb1"> <ComboBoxItem Content="上海" Tag="1"/> <ComboBoxItem Content="北京" Tag="2"/> <ComboBoxItem Content="天津" Tag="3"/> </ComboBox> ``` 这种方式适合于固定不变的小型集合,但对于大型或频繁变化的数据集来说不够灵活高效。 #### 3. 枚举类型的绑定 对于枚举类型,可以通过自定义资源转换器来实现更优雅的数据绑定方式[^4]: ```xml <!-- 资源字典 --> <Window.Resources> <local:GetEnumSource x:Key="DateOfWeekEnumSource" EnumType="vms:DateOfWeek"/> </Window.Resources> <!-- 绑定到枚举 --> <ComboBox ItemsSource="{StaticResource DateOfWeekEnumSource}"/> ``` 这里展示了如何创建一个获取特定枚举作为数据源的方法,并应用于 `ComboBox` 上面。 #### 4. 使用附加行为简化交互逻辑 为了进一步增强用户体验并减少代码量,可以引入附加行为模式来处理复杂的事件响应机制[^3]。这允许开发者将某些功能模块化封装起来,从而使得界面设计更加简洁明了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值