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

原创|其它|编辑:郝浩|2009-11-04 10:45:13.000|阅读 2139 次

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

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

今天用到了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

 

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


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP