win8.1开发之旅(三):XAML之Combobox数据绑定问题

在win8 app开发过程中,自然而然得会遇到数据绑定的问题,今天碰上的一个combobox控件数据绑定问题着实让我蛋疼了一番。

combobox里的关于selected的属性有一堆,我这里就给新手一个简明的介绍

1.首先是数据绑定问题,我们来设置数据源

比如我有这样一个类

public  class AccountName
{
public int id { get; set; }

//账户名称
public string accountName { get; set; }
}
现在我想绑定到一个名为accountNameCb的combobox控件上,则在xaml里这样写
ItemsSource="{Binding}" 
后台代码(anlist是一个AccountName类型的List)

accountNameCb.DataContext = anlist;

这样我们就把一个List绑定到了combobox上


2.绑定的显示问题

combobox和easyui 的combobox一样,是可以设置text和value的,也就是显示值和逻辑值

xaml里这样写

DisplayMemberPath="accountName" SelectedValuePath="id"
这样就能显示出accountName这个属性


3.选中项的问题

上面设置了

SelectedValuePath="id"
那么我们从后台可以这样获取选中项的ID值

var id = this.accountNameCb.SelectedValue;
再来解释一下有关selected的一些属性

SelectedIndex:可以获得或设置默认选中项的索引(就是列表中第几个项)

SelectionBoxItem:这个带box的就是在combobox关闭之后显示在box里的项,当你的combobox还没有元素的时候,用这个属性是会报null的错的

另外

ComboBoxItem cbi = cb.SelectedValue as ComboBoxItem;

ComboBoxItem cbi = cb.SelectedItem as ComboBoxItem;

cbi.Content;

这两种写法都能获取到当前选定项的内容,差别可能是一个是value一个是text吧,这个我没验证O.O


关于Combobox的问题我暂时遇到的就是这么多吧,如果有什么问题的话欢迎指正。

之前在搞sqlite的东西,发现还蛮好用的,也弄得差不多了,找个时间把我的心得写给大家一起讨论吧~今天就到这里了,收工,睡觉

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值