以下是DataTemplates:
<DataTemplate DataType="{x:Type data:Item}" x:Key="ItemTemplate">
<Border/>
</DataTemplate>
<DataTemplate DataType="{x:Type data:StyleItem}" x:Key="StyleItemTemplate">
<Border>
<ContentControl Content="{Binding Item}"
ContentTemplate="{StaticResource ItemTemplate}"/>
</Border>
</DataTemplate>
我正在尝试将List<StyleItem>
绑定到ItemsControl,
设置ItemTemplate="{StaticResource StyleItemTemplate}"
,但后来我得到System.Reflection.AmbiguousMatchException
。
我读了this帖子,而且StyleItem和Item类不是通用类,无论如何;在我的情况下,我不知道如何使用括号解决方案。
Item
和StyleItem
类是从System.Data.Objects.DataClasses.EntityObject
继承并生成System.ComponentModel.IDataErrorInfo
的EF实体。
答案 0 :(得分:3)
这就像你的StyleItem.Item
属性与IDataErrorInfo
中定义的属性索引器之间的冲突一样。尝试将StyleItem.Item
属性的名称更改为其他名称。
答案 1 :(得分:0)
您应该使用x:Key属性或DataType属性。
你不能同时使用两者。所以删除任何一个让它工作!我建议删除DataType属性,因为您已经在示例中使用了键!