Win10系列:C#应用控件基础4
ComboBox控件
ComboBox控件包含一个不可编辑的文本框和一个下拉列表,这个下拉列表是由多个ComboBoxItem子元素组成的。使用ComboBox控件可以节省界面空间,因为ComboBox控件仅显示当前选中的选项,可以通过单击文本框展开下拉列表查看其他选项。如果希望所有选项始终可见,可以使用ListBox控件(ListBox控件下文会有介绍)。
在XAML文件中,ComboBox控件的用法如下所示:
<ComboBox .../>
-或-
<ComboBox ...>
<!--添加子元素-->
</ComboBox>
- Name属性,获取或设置ComboBox控件的名称。
- Width属性,获取或设置ComboBox控件文本框的宽度。
- Height属性,获取或设置ComboBox控件文本框的高度。
- SelectedValue属性,获取或设置在ComboBox控件下拉列表中选择的选项值。
- SelectedValuePath属性,获取或设置路径用于获得SelectedValue属性值。
介绍完常用属性后,接着来看一下ComboBox控件的常用事件:
- SelectionChanged事件,当前列表中的选择项发生改变时触发。
- Tapped事件,当单击ComboBox控件的文本框时触发。
接下来使用ComboBox控件设计一个在下拉列表中选择项目并显示选中项目内容的应用示例。
新建一个Windows应用商店的空白应用程序项目,并命名为ComboBoxDemo。在MainPage.xaml文件的Grid元素中添加如下代码。
<TextBlock HorizontalAlignment="Left" FontSize="20" Height="24" Margin="478,443,0,0" TextWrapping="Wrap" Text="请选择一项" VerticalAlignment="Top" Width="100"/>
<TextBlock HorizontalAlignment="Left" Margin="478,538,0,0" TextWrapping="Wrap" Text="显示选择:" FontSize="20" VerticalAlignment="Top" Width="100" Height="21"/>
<TextBlock HorizontalAlignment="Left" Name="ShowSelected" FontSize="20" Height="30" Margin="607,538,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="155"/>
<ComboBox Name="ProjectComboBox" SelectedValuePath="Content" SelectionChanged="ProjectComboBox_SelectionChanged" Height="25" Width="100" Margin="633,443,633,301">
<ComboBoxItem Content="项目1"/>
<ComboBoxItem Content="项目2"/>
<ComboBoxItem Content="项目3"/>
</ComboBox>
上面的代码添加了三个TextBlock文本块,前两个文本块用于显示"请选择一项"和"显示选择"文本信息,第三个文本块用于显示选择的项目内容。然后添加了一个ComboBox控件,设置三个ComboBoxItem列表项,内容分别为"项目1"、"项目2"和"项目3"。
打开MainPage.xaml.cs文件,为ComboBox控件的SelectionChanged事件添加事件处理方法ProjectComboBox_SelectionChanged,当下拉列表中的选项发生改变时会触发SelectionChanged事件,并在ShowSelected文本块中显示选中项目的文本内容,代码如下所示:
private void ProjectComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//显示选择的项目
ShowSelected.Text = "你选择了" + ProjectComboBox.SelectedValue.ToString();
}
在上面的代码中,使用ComboBox控件的SelectedValue属性获取选中列表项的内容并通过ToString方法转换成字符串类型,赋值给文本块ShowSelected的Text属性,以便在前台显示选择项目的文本信息。
运行程序,在界面中显示了一个下拉列表框和两个文本信息,这两个文本信息分别为"请选择一项"和"显示选择:",效果如图4-7所示。单击文本框展开下拉列表,在下拉列表中选择"项目2"选项后会在界面中显示所选内容,效果如图4-8所示。


图4-7 ComboBox控件的使用 图4-8 在列表项中选择选项后效果图
Win10系列:C#应用控件基础4的更多相关文章
- Win10系列:JavaScript 控件的使用
向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...
- WPF从我炫系列4---装饰控件的用法
这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...
- WPF 模仿 UltraEdit 文件查看器系列一 用户控件
WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...
- C#控件系列--文本类控件
C#控件系列--文本类控件 文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能 Label用来 ...
- 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree
原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...
- WPF编游戏系列 之四 用户控件
原文:WPF编游戏系列 之四 用户控件 在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...
- Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...
- Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...
- Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...
随机推荐
- 事后调试.VC_资料01
1.windows中的调试_VC语言_编程开发B1_最全面的网站教程.html(http://study.qqcf.com/web/522/98401.htm) windows中的调试 1.事后调试有 ...
- [原][unreal][UE][spark]分析unreal engine 虚幻引擎的粒子编辑器:Cascade
参考:https://www.raywenderlich.com/270-unreal-engine-4-particle-systems-tutorial (使用了一个飞机射击游戏的粒子来展示,全英 ...
- Hadoop大数据分析应用场景
J 为了满足日益增长的业务变化,京东的京麦团队在京东大数据平台的基础上,采用了hadoop等热门的开源大数据计算引擎,打造了一款为京东运营和产品提供决策性的数据类产品-北斗平台. 一.Hadoop的应 ...
- Javascript 常用设计模式
转载自:https://blog.csdn.net/buptlyz/article/details/52018193 单例模式(模块模式):确保始终只创建一个实例的对象时使用的设计模式. 为什么需要采 ...
- 算法笔记--斜率优化dp
斜率优化是单调队列优化的推广 用单调队列维护递增的斜率 参考:https://www.cnblogs.com/ka200812/archive/2012/08/03/2621345.html 以例1举 ...
- mui 配置底部tab切换方式以模板的方式访问
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- h5调用手机相册摄像头以及文件夹
在之前一家公司的时候要做一个app里面有上传头像的功能,当时研究了好久,找到了一篇文章关于h5摄像头以及相册的调用的,所以就解决了这个问题了!!我这里记录一下以便后面有人需要,可以参考一下!!!! 下 ...
- MyBatis配置文件中的常用配置
一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: <?xml version="1 ...
- 3.2 定位shellcode
前言 此帖为 0day_2th 一书第三章实践不完全记录. 流程记录 searchAddr.c 文件: #include <windows.h> #include <stdio.h& ...
- 【源码分析】FastJson全局配置日期格式导致@JSONField(format = "yyyy-MM-dd")注解失效
出现的问题 我全局配置的时间格式是:yyyy-MM-dd HH:mm:ss @JSONField注解配置的时间格式是:yyyy-MM-dd 最终的返回结果是:yyyy-MM-dd HH:mm:ss 问 ...