SilverLight中的数据绑定
需要执行个数据绑定,结果遇到问题,绑定失败,经实验,结果如下:
1——
只能对属性操作(PROPERTY),不能对字段(FIELD)操作。
2——
目标类必须是PUBLIC的,目标属性也必须是PUBLIC的。
(这个问题很奇怪,不知道为什么,MS在SL中禁止通过REFLECTER机制来操纵PRIVATE的内容,而跨模块的时候,INTERNAL也不可以操作,只能操作PUBLIC的)
3——
不能使用匿名对象(这个问题其实第一和第二已经解释,匿名对象是私有类、内容是字段形式表示的)
只是感觉,MS这样做,让数据操作会很麻烦,匿名类的强力应用在SL中就此打个折扣,BS下!
不知道是否有其它的更好的解决方案。
附带说下:
1——
定数据的时候,只要设置对象的DataContext就能触发绑定事件
2——
除非单独设置子对象的DataContext,否则父对象的DataContext设置被子对象共享。