2

我要归档的是一个类似于CompositCollection for WinRT 的类。

<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 都具有 ObservableCollection 的属性 Collection。两者都设置了 ContentProperty。对于 CollectionContainer 这有效,对于实现 ObservableCollection 的 CompositCollectionView,项目将直接添加到 CompositCollectionView。

它使集合具有比属性更高的优先级。有没有办法改变这个?

4

0 回答 0