WPF--ComboBox数据绑定

0-在ComboBox中显示图片:

<ComboBox Height="33" HorizontalAlignment="Right" Margin="0,94,31,0" x:Name="comboBox1" VerticalAlignment="Top" Width="142" SelectedIndex="0">
    <ComboBoxItem>
        <StackPanel Orientation="Horizontal">
            <Image Source="Images/roles.png" Height="30" />
            <TextBlock Text="Select a role" />
        </StackPanel>
    </ComboBoxItem>
    <ComboBoxItem Background="LightCoral">
        <StackPanel Orientation="Horizontal">
            <Image Source="Images/cashier.gif" Height="30" />
            <TextBlock Text="Cashier" />
        </StackPanel>
    </ComboBoxItem>
    <ComboBoxItem Background="LightGreen">
        <StackPanel Orientation="Horizontal">
            <Image Source="Images/manager.gif" Height="30" />
            <TextBlock Text="Manager" />
        </StackPanel>
    </ComboBoxItem>
</ComboBox>

 

一.XAML 中直接绑定(此绑定很不实用)

复制代码
  <TextBlock VerticalAlignment="Center">直接在XAML中绑定数据</TextBlock><ComboBox Grid.Column="1" Height="23" Name="cmb1" SelectionChanged="cmb1_SelectionChanged"><ComboBoxItem Content="上海" Tag="1"></ComboBoxItem><ComboBoxItem Content="北京" Tag="2"></ComboBoxItem><ComboBoxItem Content="天津" Tag="3"></ComboBoxItem></ComboBox>
复制代码

此绑定  不能设置 SelectValue 值 SelectedItem 返回的是 System.Windows.Controls.ComboBoxItem:上海

SelectedValue 返回的是 System.Windows.Controls.ComboBoxItem:上海

Text 返回的才是 显示的值。

如果想和Winform 中的获取 Value的值。可以 实用 Tag 属性。Tag为 Object 类型。可以获取Value值。

 

二。绑定IList<T>集合属性 (此绑定比较实用)

 public class City {public int ID { get; set; }public string Name { get; set; }}
复制代码
 private void Window_Loaded(object sender, RoutedEventArgs e){List<City> list = new List<City>();list.Add(new City { ID = 1, Name = "上海" });list.Add(new City { ID = 2, Name = "北京" });list.Add(new City { ID =3, Name = "天津" });cmb_list.ItemsSource = list;}
复制代码
  <ComboBox Name="cmb_list" Grid.Row="1" Grid.Column="1" Height="23"DisplayMemberPath="Name" SelectedValuePath="ID" SelectionChanged="cmb1_SelectionChanged"></ComboBox>

如果不设置 此 DisplayMemberPath="Name" 属性。  ComboBox 显示的是 City 类型名 (City没有覆盖ToString()方法)。如果City覆盖ToString()方法。将显示的是

ToString()方法返回的字符串信息。

     注意:切记 要设置 DisplayMemberPath="Name" 属性

设置 SelectedValuePath="ID"属性。如果City覆盖了 ToString()方法。

SelectItem   ToString() 返回 City  ToString()返回的内容。

SelectValue ToString()  为 City 中ID的值。

 

三. 绑定DataTable

 

复制代码
 private void Window_Loaded(object sender, RoutedEventArgs e){DataTable dt = new DataTable();dt.Columns.Add(new DataColumn("ID", typeof(Int32)));dt.Columns.Add(new DataColumn("Name", typeof(string)));DataRow dr1 = dt.NewRow();dr1["ID"] = 1;dr1["Name"] = "上海";dt.Rows.Add(dr1);dt.Rows.Add(2, "北京");dt.Rows.Add(3,"天津");cmb_list.ItemsSource =dt.DefaultView; }
复制代码

 

  <ComboBox Name="cmb_list" Grid.Row="1" Grid.Column="1" Height="23"DisplayMemberPath="Name" SelectionChanged="cmb1_SelectionChanged"></ComboBox>







转载于:https://www.cnblogs.com/zy-style/p/3443072.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

U-Boot源码目录分析(VScode工程创建及文件夹过滤)

参考&#xff1a;U-Boot工程目录介绍 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-10-21 14:47:30 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/109199081 目录0、Uboot下载编译VScode工程创建及文件夹过滤2、重要文件2.1、arch文件夹&…

Spring Security 案例实现和执行流程剖析

在线演示 演示地址&#xff1a;http://139.196.87.48:9002/kitty 用户名&#xff1a;admin 密码&#xff1a;admin Spring Security Spring Security 是 Spring 社区的一个顶级项目&#xff0c;也是 Spring Boot 官方推荐使用的安全框架。除了常规的认证&#xff08;Authentica…

Ubuntu用户与用户组

目录Ubuntu用户与用户组创建用户和用户组Ubuntu用户与用户组 创建用户和用户组

linux执行windows创建的脚本,如何在Windows 10上创建和运行Bash Shell脚本 | MOS86

随着Windows 10的到来您还可以将Bash命令合并到Windows批处理文件或PowerShell脚本中。如果你知道你是什么Windows和UNIX使用不同的行尾字符&#xff0c;Windows文件系统可以在Bash环境的不同位置访问。如何在Windows上编写一个Bash脚本10当在Windows上编写shell脚本时&#xf…

31 锁,信号量,事件,队列

1.同步锁&#xff08;互斥锁&#xff09; from mutilprocessing import Lock 方式一&#xff1a; lockLock() lock.acquire() 数据操作的代码 lock.release() 方式二&#xff1a; with lock: 数据操作代码2.信号量 from mutilprocessing import …

Ubuntu下文件权限管理

参考&#xff1a;Ubuntu / Linux 下文件权限管理 作者&#xff1a;~莘莘 发布时间&#xff1a; 2021-07-12 17:09:48 网址&#xff1a;https://blog.csdn.net/lcx1837/article/details/118676383?spm1001.2014.3001.5501 目录一、文件权限二、修改文件权限一、文件权限 文件权…

U-Boot顶层Makefile分析

参考&#xff1a;U-Boot顶层Makefile介绍 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-10-22 16:22:17 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/109218569 目录0、学习目的1、准备好uboot源码2、分析顶层Makefile2.1、版本号2.2、M…

思科路由器的硬件组成

思科路由器的硬件组成常建议常建议CCNA的学员们&#xff0c;除了能灵活配置与应用思科的路由器和交换机以外&#xff0c;还需要掌握对路由器与交换机的常规维护工作&#xff0c;比如IOS的安装与升级&#xff0c;这个过程好比为一台全新的计算机安装操作系统&#xff0c;在此之前…

linux gone kde 图形程序 兼容,Oracle8i HowTo

现在假设你要在Linux上安装Oracle服务器,请先过以下5关&#xff1a;系统要求规划硬盘创建用户创建目录设置参数1.系统要求前提条件是能够安装运行Linux&#xff0c;然后应满足以下硬件要求&#xff1a;内存 RequirementsMemory  最小要求128 MB RAM.更多(256MB)内存可以提…

U-Boot启动流程详解

参考&#xff1a;U-Boot顶层目录链接脚本文件&#xff08;u-boot.lds&#xff09;介绍 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-10-23 13:52:23 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/109240625 目录链接脚本 u-boot.lds 详解…

linux下使用nginx搭建集群,CentOS(linux) 下Nginx的安装(Nginx+Tomcat集群第一步)

CentOS(linux) 下Nginx的安装(NginxTomcat集群)CentOS 7.4(腾讯云)pcre库zlib库opensslNginx服务器安装gcc g开发类库yum -y install gcc automake autoconf libtool makeyum install gcc gcc-cwget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz解压pcre库tar -zxvf pcre-8…

在线生成透明ICO图标神器

此神器的链接为&#xff1a;http://ico.duduxuexi.com/ 大家可以将这个网址收藏好&#xff0c;本人亲测十分好用&#xff01;对我们的ios,安卓以及windows开发都有极大的好处。转载于:https://www.cnblogs.com/geeksongs/p/10040935.html

Vim的使用和快捷键介绍

参考&#xff1a;Linux–Vim的使用以及快捷键大全 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-07-12 12:43:19 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/107297756 目录安装vim三种常用的模式三种常用模式的切换vim 快捷键1.一般模…

手机当电脑麦克风 linux,WO Mic让手机成为电脑的无线麦克风

WO Mic 是一款可以让 Android 手机成为电脑无线麦克风的应用&#xff0c;支持 windows 和 Linux&#xff0c;除了 WiFi&#xff0c;还能使用蓝牙以及 USB 数据线(只有安卓支持数据线连接)。官方下载页面如下&#xff1a;一、windows下安装连接windows主机上需要安装客户端和驱动…

如何编写 Cloud9 JavaScript IDE 的功能扩展

上周末我们在JSConf.eu发布了 Cloud9 IDE &#xff0c;同时发布了对应的GitHub项目。在4天时间里该项目得到340个人的关注和将近50个fork。Cloud9的口号是由"由Javascripters 为Javascripters创建的IED"&#xff0c;这口号有点递归&#xff0c;它意味着你可以hack这个…

make工具和Makefile基础语法(含有交叉编译、pthread_create()的处理)

目录含有交叉编译、pthread_create()处理初次使用1、编写Makefile文件2、make3、make cleanMakefile基本语法1、Makefile规则格式2、变量3、变量赋值符&#xff08;、:、?、&#xff09;4、模式规则&#xff08;通配符&#xff09;5、自动化变量6、伪目标7、条件判断8、函数使…

树莓派超声波模块测距

参考&#xff1a;树莓派超声波模块测距及C语言demo 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-07-22 16:54:16 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/107516949 前面这篇博文已经讲过了&#xff1a;树莓派外设开发基础&#xf…

spring cloud (一、服务注册demo_eureka)

首先我的博客记理论知识很少&#xff0c;大家对spring boot、spring cloud 、分布式 、微服务什么的一点概念都没有的还请先去百度看看理论&#xff0c;知道了是做什么用的&#xff0c;然后再写下demo ,这样学起来才没有那么迷糊&#xff01; 我一般写下的demo都是我踩了很多坑…

JavaFX 的 UI 控件集 ControlsFX

出处&#xff1a;http://www.oschina.net/p/controlsfx JavaFX 的 UI 控件集 ControlsFX ControlsFX 开源项目旨在为 JavaFX 开发提供更多的 UI 控件和其他工具。 该项目主要针对JavaFX 8.0&#xff08;捆绑在JDK 8中&#xff09;&#xff0c;考虑到JavaFX中已经包含了一些控件…

shell 脚本编写使用

目录一、什么是shell 脚本二、shell 脚本写法三、shell 脚本语法1、第一个 shell 脚本2、read命令3、数值计算4、test命令5、中括号判断符6、默认变量7、条件判断8、函数9、循环一、什么是shell 脚本 终端中输入一系列命令完成一些操作&#xff0c;但是我们一条一条输入命令&a…