簡體   English   中英

如何創建帶有嵌套datatemplate的wpf模板(datatemplate中的datatemplate)

[英]How to create a wpf template with nested datatemplate (datatemplate in datatemplate)

我完全是wpf的新手。 我嘗試創建一個像這樣的布局的嵌套datatemplate (另一個datatemplate datatemplate內部的datatemplate )。 我設法創建了一個數據模板,並連接到ObservableCollection中的"Object A" ,這確實工作得很好。 現在,我需要在每個Object A都有一個嵌套的ObservableCollection ,以在列中顯示Object BObject C 但是我真的不知道該怎么做,也找不到示例。

也許有人可以給我提示嗎?

謝謝和問候,瑪琳

假設您使用ListViewListBox顯示Object A的集合(將其ObjectACollection ),並且Object A具有名為(在此示例中) ObjectBCollectionObjectCCollection ,則可以執行以下操作:

<UserControl xmlns:namespaceA="clr-namespace:MyProj.Models.ObjectANamespace"
             xmlns:namespaceB="clr-namespace:MyProj.Models.ObjectBNamespace"
             xmlns:namespaceC="clr-namespace:MyProj.Models.ObjectCNamespace" >
    <ListBox ItemsSource="{Binding ObjectACollection}">
        <ListBox.ItemTemplate>
            <DataTemplate DataType="namespaceA:ObjectA">
                <StackPanel Orientation="Horizontal">
                    <ListBox ItemsSource="{Binding ObjectBCollection}">
                        <ListBox.ItemTemplate>
                            <DataTemplate DataType="namespaceB:ObjectB">
                                <TextBlock Text="{Binding ObjectBProperty}"/>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>
                    <ListBox ItemsSource="{Binding ObjectCCollection}">
                        <ListBox.ItemTemplate>
                            <DataTemplate DataType="namespaceC:ObjectC">
                                <TextBlock Text="{Binding ObjectCProperty}"/>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</UserControl>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM