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 ...
随机推荐
- IPC 之 Socket 的使用
一.概述 我们知道在开发中,即时通讯.设备间的通信都是使用 Socket 实现,那当然用它来实现进程间通信更是不成问题.Socket 即套接字,是一个对 TCP / IP协议进行封装 的编程调用接口( ...
- 写给前端的Python依赖管理指北
概述 在Python的项目中,我们可以通过pip来安装依赖包,但是不像npm install,pip默认安装的依赖包会挂在全局上,不利于项目工程协作. 这时候需要一款类似npm的工具记录我们的项目依赖 ...
- MySQL学习(六)
1 注意 select cout(*) from 表名: 查询的就是绝对的行数,哪怕某一列所有字段全部为NULL,也计算在内.而select cout(列名) form 表名:查询的是该列不为null ...
- 00-python-内置函数笔记
01.enumerate()函数用于将一个可遍历的数据对象(如 列表.元组或字符串)组合为一个索引序列,同时列出数据和数据包下标,一般用在for循环中 for i, element in enumer ...
- Netty实现简易http_server
Netty可以通过一些handler实现简单的http服务器.具体有三个类,分别是HttpServer.java.ServerHandlerInit.java.BusiHandler.java. 具体 ...
- Spring学习笔记(入门)
1.基本看了一下,spring就是利用这个框架帮助我们实例化对象的工具.首先我们需要引入jar包,pom.xml如下: <project xmlns="http://maven.apa ...
- 在Spring Boot中使用 @ConfigurationProperties 注解, @EnableConfigurationProperties
但 Spring Boot 提供了另一种方式 ,能够根据类型校验和管理application中的bean. 这里会介绍如何使用@ConfigurationProperties.继续使用mail做例子. ...
- dynamic遇上ADO.NET
传说中的dynamic dynamic是个不合群.不按规则办事的家伙,可以说是个异形,但更恐怖的是它又是无所不知的,任何事情都难不了它(咳咳,它似乎与Lambda表达式是死对头).这令人想起<死 ...
- c# 正则表达式如何处理换行符?
我们要分析网页,把整个网页内容作为匹配源,但是c#的正则表达式是默认以一行为单位的,使用 RegexOptions.Multiline 也没有实质性作用(它知识改变了^和$的行为) 只要在正则表达式前 ...
- hihocoder-1415 后缀数组三·重复旋律3 两个字符串的最长公共子串
把s1,s2拼接,求Height.相邻的Height判断左右串起点是否在两个串中,另外对Height和s1.length()-SA[i-1]取min. #include <iostream> ...