我希望绑定到一个类,该类按照下面的代码动态地公开其属性。看来ICustomTypeProvider和DynamicObject都能做到这一点。有人能解释我为什么要用一个而不是另一个吗?
void CreateDynamicItem()
{
var di = new DynamicItem();
di.AddProperty("Age", 16, typeof(int));
di.AddProperty("Height", 5.2, typeof(double));
}
<StackPanel>
<Slider Value="{Binding Age}" />
<Slider Value="{Binding Height}" />
</StackPanel>发布于 2014-03-18 13:16:34
我在这里找到了用ICustomTypeProvider绑定动态特性的答案:“WPF和DLR怎么办?”
DLR对象(如ExpandoObject或DynamicObject (或IDynamicMetaObjectProvider接口的任何其他实现))不为其属性携带任何类型信息。另一方面,数据绑定引擎需要获取此信息,以便对字符串以外的任何内容执行类型转换。
https://stackoverflow.com/questions/22480203
复制相似问题