ComboBox控件

ComboBox控件包含一个不可编辑的文本框和一个下拉列表,这个下拉列表是由多个ComboBoxItem子元素组成的。使用ComboBox控件可以节省界面空间,因为ComboBox控件仅显示当前选中的选项,可以通过单击文本框展开下拉列表查看其他选项。如果希望所有选项始终可见,可以使用ListBox控件(ListBox控件下文会有介绍)。

在XAML文件中,ComboBox控件的用法如下所示:

<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的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  3. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  4. C#控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  5. 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  6. 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  7. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  8. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  9. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

  10. Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit

    Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...

随机推荐

  1. VC异常.简单抛,简单捕获

    1.ZC:始终没有找到,能像Delphi7里面那样能抛 字符串描述 的异常信息.(难道Delphi是这样做的?:在程序的最外围 套了一层异常捕获,然后在获取到异常之后,自己再将异常信息弹出来,我们写的 ...

  2. [原][数学][C++][osg]空间向量OA到转到空间向量OB、以及四元素Q1转到Q2的函数

    注意:Oa其实在OK的延长线上,上图只是为了好看才把Oa和OK分开了 算法需求如图所示: 已知空间向量OA和空间向量OB 我想算出OA向OB按某角度或者某时间移动 变成空间向量Oa的算法 先说废话:我 ...

  3. OpenModelica中simulate的用法

    先把官网上的说明文档放上来: simulate simulates a modelica model by generating c code, build it and run the simula ...

  4. git 先创建本地仓库,再关联远程

    之前都是先在GitHub或者bitbucket上创建repo,然后在本地直接git clone下来. 如果一定需要先在本地创建好文件夹,然后再关联远程仓库. 是这样: 1在远程创建仓库这步不变. 2 ...

  5. 图片路径转base64字节码

    package product; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOE ...

  6. So you want to be a computational biologist?

    So you want to be a computational biologist? computational biology course

  7. 2017-2018-2 20165327 实验四《Android程序设计》实验报告

    2017-2018-2 20165327 实验四<Android程序设计>实验报告 任务一 Android Stuidio的安装测试: 任务要求 参考Android开发简易教程,安装 An ...

  8. 跨站请求伪造 CSRF

    原理 CSRF攻击原理比较简单,例如Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户.用户C打开浏览器,访问受信任网站A,输入用户名和密码请 ...

  9. gem "ransack"(4000✨) 简单介绍

    Object-based searching:演示. git:  https://github.com/activerecord-hackery/ransack Gorails视频和我的博客记录:ht ...

  10. 在写makefile过程中遇到的问题

    老师布置了linux实验作业,本身不打算写了,反正也不交实验报告,但刚好项目也需要,所以就研究了makefile.不过还是要批评自己,怎么能这么的颓废呢? 刚开始做的时候出现了这样的错误,代码如下: ...