微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

 

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

http://www.cnblogs.com/charles-chenwei/archive/2009/11/04/1595650.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐