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

本文关键字:动态 对象 数据绑定 Silverlight | 更新日期: 2023-09-27 17:57:48

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

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

您在Silverlight 4中有些运气不佳。Silverlight 5(测试版)具有允许绑定到动态属性的ICustomTypeProvider接口,但Silverlight 4没有此接口。在Silverlight 5发布之前,您有两个选项:

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

2) 在对象上设置一个索引器,当传递"属性"名称时,该索引器会返回相应的值。然后你可以提取这样的值:

Binding="{Binding [PropertyName]}"

选项2是IMO.的最佳选项。