我有一个控件,它通过* MemberPath属性使用旧式数据。但是,我的情况需要使用DynamicObject。当您获得该动态对象的类型并调用GetProperty(..)时,它返回null(因为该对象本身不包含这样的属性 - 它是动态对象)。那么..我该如何解决这个问题呢?如何使用视图使用旧式数据绑定方法的动态属性绑定对象?
答案 0 :(得分:1)
你在Silverlight 4中有点不走运.Silverlight 5(测试版)有ICustomTypeProvider接口,允许绑定到动态属性,但Silverlight 4没有这个。在Silverlight 5发布之前,您有两个选择:
1)写一个值转换器以从对象中获取值。
OR
2)在对象上有一个索引器,当传递“属性”名称时,返回相应的值。然后,您可以像这样提取值:
Binding="{Binding [PropertyName]}"
选项2是IMO的最佳选择。