Xaml StaticResourceExtension vs添加到IList

时间:2017-02-20 13:59:34

标签: c# wpf xaml staticresource

<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解析器无法弄清楚我想AddIList,它认为我想为它赋值。

只有使用Add s才能将IList个项目转换为xaml中的StaticResourceExtension吗?

修改

我已经制定了一个可以解决问题的可运行项目:https://github.com/nvirth/Xaml_StaticResourceExtension_vs_IL‌​ist

0 个答案:

没有答案