Silverlight 4,数据绑定和动态对象

时间:2011-05-28 11:50:12

标签: c# silverlight data-binding dynamic

我有一个控件,它通过* MemberPath属性使用旧式数据。但是,我的情况需要使用DynamicObject。当您获得该动态对象的类型并调用GetProperty(..)时,它返回null(因为该对象本身不包含这样的属性 - 它是动态对象)。那么..我该如何解决这个问题呢?如何使用视图使用旧式数据绑定方法的动态属性绑定对象?

1 个答案:

答案 0 :(得分:1)

你在Silverlight 4中有点不走运.Silverlight 5(测试版)有ICustomTypeProvider接口,允许绑定到动态属性,但Silverlight 4没有这个。在Silverlight 5发布之前,您有两个选择:

1)写一个值转换器以从对象中获取值。

OR

2)在对象上有一个索引器,当传递“属性”名称时,返回相应的值。然后,您可以像这样提取值:

Binding="{Binding [PropertyName]}"

选项2是IMO的最佳选择。