WPF--ComboBox数据绑定
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 中直接绑定(此绑定很不实用)
按 Ctrl+C 复制代码 按 Ctrl+C 复制代码
此绑定 不能设置 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>
WPF--ComboBox数据绑定的更多相关文章
- WPF Combobox数据绑定 Binding
combobox数据绑定List链表集合区分显示值与选择的值 整体效果: 根据combobox选择情况分别打印选取值与显示值 代码: Windows窗体: <Window x:Class=&qu ...
- WPF combobox数据绑定和数据获取
本文章仅为个人学习,如有错误之处请指正. 搭建WPF界面的时候,想用combobox构建一个下拉菜单,搜索的时候看到大多数都是大段代码,逻辑顺序不是很详细,摸索了大概,记录一下方便来者. 拖入comb ...
- C# WinForm 中ComboBox数据绑定的问题 (转)
来自:http://blog.sina.com.cn/s/blog_5fb9e26301013wga.html C# WinForm 中ComboBox数据绑定的问题 怎样让WinForm中的Comb ...
- combobox数据绑定
jquery easyui datagrid 可编辑行 combobox数据绑定问题 将带有参数的url地址赋值给变量,然后将变量赋值给url <script type="text/j ...
- wpf Content数据绑定StringFormat起作用的原理和解决
原文:wpf Content数据绑定StringFormat起作用的原理和解决 <Window x:Class="WpfOne.Bind.Bind6" xmlns=" ...
- WPF ComboBox(转)
WPF ComboBox 创建一个ComboBox控件,并设置ComboBox控件的名称,高度,宽度.及设置ComboBox的垂直和水平对齐. <ComboBox Name="Comb ...
- WPF:数据绑定总结(1) https://segmentfault.com/a/1190000012981745
WPF:数据绑定总结(1) visual-studio c# 1.3k 次阅读 · 读完需要 16 分钟 0 一.概念:什么是数据绑定? WPF中的数据绑定:是在应用程序 UI 与业务逻辑之间建立 ...
- MVVM模式WPF的ComboBox数据绑定,使用Dictionary作为数据源
ViewModel//属性定义 Dictionary<int, string> _selGroupList; /// <summary> /// 分组下拉列表 /// < ...
- wpf ComboBox设置默认值
最新的wpf的ComboBox设置默认值得方法是,给VM中的数据集合第一个元素插入一个提示项目,比如:请选择一项,然后通过数据绑定可以实现默认选中第一项,下面我就贴一下示例代码: xaml页面: &l ...
- WPF的数据绑定详细介绍
数据绑定:是应用程序 UI 与业务逻辑之间建立连接的过程. 如果绑定正确设置并且数据提供正确通知,则当数据的值发生更改时,绑定到数据的视觉元素会自动反映更改. 数据绑定可能还意味着如果视觉元素中数据的 ...
随机推荐
- 《ruby编程语言》笔记2 对象
ruby是一门非常纯粹的面向对象的语言:所有值都是对象,而且没有基本类型(primitive type)和对象类型的区别,这一点不同于其他语言.在Ruby中,所有对象都继承一个Object类,而且共享 ...
- C++小知识之Vector用法
tyle="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial; color:rgb(51,51 ...
- python 替换windows换行符为unix格式
windows 默认换行符为 \r\n; unix默认换行符为 \n; 所以当win下编辑的脚本在linux下显示末尾多了^M: 换行符修改为同一的unix格式脚本如下: def run(path,f ...
- Learning WCF Chapter1 Hosting a Service in IIS
How messages reach a service endpoint is a matter of protocols and hosting. IIS can host services ov ...
- Java邮件开发(JavaMail)
Sun发布的用来处理email的API,它可以方便地执行一些常用的邮件传输.JavaMail API是Sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一 ...
- 【转】Valid signing identity not found解决办法(原有IDP私钥丢失)及Certificate、App ID、Devices、Provisioning Profiles之间区别--不错
原文网址:http://blog.csdn.net/mad1989/article/details/8699147 前言: 刚刚把mini换成了macbookair,之前一直在mini上进行开发,到换 ...
- ETL构建数据仓库五步法
原文:http://huangy82.blog.163.com/blog/static/49069827200923034638409/ ETL构建企业级数据仓库五步法 在数据仓库构建中,ETL贯穿于 ...
- ASP.NET返回Json数据
Schedule.ashx: <%@ WebHandler Language="C#" Class="Schedule" %> using Syst ...
- EntityFramework 基础提供程序在 Open 上失败。
问题 System.Data.EntityException: 基础提供程序在 Open 上失败. ---> System.Data.SqlClient.SqlException: 在与 SQL ...
- 圣诞福利到!51Testing邀你一起来狂欢!有礼就是任性~(≧▽≦)/~
“我想变成一棵树,一棵只为你存在的圣诞树,顶上最大最亮的那颗星是我的真心,下面挂满我对你的祝福. 你的关注是我的幸福,你的肯定是我的力量,而我将用更多精彩的内容,用心的分享,给你下一个一整年的 精彩! ...