我有一堂课CollectionOfThings。顾名思义,它是Thing类实例的简单集合。 Thing类有一个公共的默认构造函数和两个简单的公共 get、set 属性ID和DisplayName,它们都是字符串。 CollectionOfThing也有公共的默认构造函数。
在 XAML 中,我想使用这样的标记:-
<Grid.Resources>
<local:CollectionOfThings x:Key="Things">
<local:Thing ID="1" DisplayName="Hello" />
<local:Thing ID="2" DisplayName="World" />
<local:CollectionOfThings>
</Grid.Resources>
只要 CollectionOfThings 派生自 Collection 类型,一切都很好。不过我CollectionOfThings也想成为一个DependencyObject。我认为创建ICollection<T>, INotifyCollectionChangedetc 的实现很好,这并不难。然后我可以从DependencyObject.
不幸的是ICollection<T>,由于某种原因没有削减它。随着ICollection<Thing>我得到“CollectionOfThings 不支持将事物作为内容”。回去Collection<Thing>,一切正常,但让我没有DependencyObject实施。
建议任何人?