控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

Silverlight中为ComboBox设定当前选择项,真麻烦

作者:不详 出处:博客园 2010年02月08日 阅读:

今天用到了ComboBox控件,像往常一样根据以往使用WebForm的DropDownlist或者WinForm中ComboBox控件的经验来使用Silverlight的ComboBox控件,

可是遇到麻烦了。

为ComboBox绑定了某个列表,然后需要根据我当前的值去指定ComboBox的当前选择项。比如说ComboBox绑定了一个List<Employee>.

1   List<Employee> list = new List<Employee>(){
2             new Employee(){ EmpID="111", EmpName="1ssssss"},
3             new Employee(){EmpID="222",EmpName="2dddd"},
4             new Employee(){EmpID="333",EmpName="3ffff"}
5             };
6   this.comboBox1.ItemsSource = list;
7   this.comboBox1.DisplayMemberPath = "EmpName"

现在希望把ID为333的Employee设为当前选择项。不能像以前那样直接Text="3ffff"设定当前值。

在Siverlight中却有些繁琐。具体的代码:

            Employee emp = new Employee() { EmpID = "333", EmpName = "3ffff" };                                            //this.comboBox1.SelectedItem = emp;  //这样设不起作用.
            List
<Employee> list = this.comboBox1.ItemsSource as List<Employee>;
            
int flag = -1;
            
for (int i = 0; i < list.Count; i++)
            {
                
if (list[i].EmpID == emp.EmpID && list[i].EmpName == emp.EmpName)
                {
                    flag 
= i;
                    
break;
                }
            }
            
this.comboBox1.SelectedIndex = flag; 

到此为止,可以设置ComboBox的当前选择项了。是不是有些绕,为什么不能直接公开一个属性让开发者去设呢?

完整代码:

C#
XAML

 

原创贴,自娱自乐的同时,也为大家带来帮助 。

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统