在Silverlight中绑定ExpandoObject

时间:2012-06-04 20:23:04

标签: silverlight dynamic binding expandoobject

在WPF中,您可以绑定ExpandoObject和其他动态类型:

    dynamic o = new ExpandoObject();
    o.Foo = "Hello";
    DataContext = o;

<TextBlock Text="{Binding Foo}"/>

这在Silverlight 5中不起作用。有没有办法让它工作或有没有人有这个问题的链接?

1 个答案:

答案 0 :(得分:4)

在Silverlight 5中,他们没有添加绑定到动态对象的默认机制,而是添加了一个新接口ICustomTypeProvider。并且该接口也没有添加到ExpandoObject,但是使用expando,您应该能够使用索引器绑定,因为它是IDictionary<string, object>,它实现了INotifyPropertyChanged

<TextBlock Text="{Binding [Foo]}"/>