<MyControl>
<MyControl.MyList> <!-- IList -->
<MyListItem />
<StaticResourceExtension ResourceKey="MyKey1_PointingTo_MyListItem_Instance" />
<StaticResourceExtension ResourceKey="MyKey2_PointingTo_MyListItem_Instance" />
</MyControl.MyList>
</MyControl>
上面的代码将3 MyListItem
个实例添加到MyList
属性中;这是正确的行为
但是,如果我删除了第一个项目,那么只使用StaticResourceExtension
s,我会遇到以下异常:
其他信息:
MyListItem
不是属性MyList
的有效值。
所以在我看来,xaml解析器无法弄清楚我想Add
项IList
,它认为我想为它赋值。
只有使用Add
s才能将IList
个项目转换为xaml中的StaticResourceExtension
吗?
我已经制定了一个可以解决问题的可运行项目:https://github.com/nvirth/Xaml_StaticResourceExtension_vs_IList