silverlight中对绑定数据源的要求

今天在做一个SL聊天室程序,在ComboBox绑定在线用户列表的时候死活都绑定不上,调试也发现服务端已经把在线用户列表返回给客户端了,然后把combobox的itemssource设置为这个泛型列表List<ChatUser> 时,始终绑定不上ComboBox,然后翻看以前的一些例子,对比一下看看为什么以前的例子能绑定,而这个不能绑定,终于发现了不同之处,我的ChatUser类以前是这样写的:public class ChatUser { public string EndPoint; public string NickName; public int Uid; } ,原来sl中绑定需要有属性设置器get和set,后来改成:public class ChatUser { private string _endPoint; public string EndPoint { get { return _endPoint; } set { _endPoint = value; } } private string _nickName; public string NickName { get { return _nickName; } set { _nickName = value; } } private int _uid; public int Uid { get { return _uid; } set { _uid = value; } } } ,果然可以绑定上了,还有一个知识点就是ObservableCollection类型(命名空间:System.Collections.ObjectModel)内部自己实现了INodifyPorpertyChanged接口,可以支持oneway和twoway绑定的(WCF生成的客户端代理类返回集合类型也都是ObservableCollection类型的),List不知道支持不支持twoway绑定,暂时没试,后面我把用户列表定义成了ObservableCollection<ChatUser> onlines=new ObservableCollection<ChatUser>()

你可能感兴趣的:(String,list,Class,聊天,silverlight,WCF)