我想归档的是类似于WinRT {/ 3}}的类。
<ListBox Name="list" Margin="30">
<ListBox.ItemsSource>
<test:CompositeCollectionView>
<!--Using this the elements are where they belong-->
<!--<test:CompositeCollectionView.Collection>-->
<ListBoxItem Content="Value 1"/>
<test:CollectionContainer >
<ListBoxItem Content="Value 2"/>
<ListBoxItem Content="Value 3"/>
<ListBoxItem Content="Value 4"/>
</test:CollectionContainer>
<ListBoxItem Content="Value 5"/>
<!--</test:CompositeCollectionView.Collection>-->
</test:CompositeCollectionView>
</ListBox.ItemsSource>
</ListBox>
为此,我有CompositCollectionView类。这个类实现了ObservableCollection,并且有一个属性Collection(它本身就是一个ObservableCollection)。添加到Collection的每个Object都将添加到CompositeCollectionView,除非它是CollectionContainer。如果是CollectionContainer,则会添加所有项目。
CompositCollectionView和CollectionContainer都有一个属性Collection of ObservableCollection。两者都设置了ContentProperty。对于CollectionContainer,这适用于实现ObservableCollection的CompositCollectionView,项目将直接添加到CompositCollectionView。
它接缝Collection的优先级高于Attribute。有没有办法改变这个?