繁体   English   中英

如何在列表视图的列表中显示列表的属性?

[英]How to show properties of a list in a list in a listview?

我正在用wpf,MVVM模式实现一个应用程序。 我想用对象实现listview。 这些对象包含一个列表。 默认情况下,此列表仅包含1个对象。 但在listview中,我想展示某些对象。 所以列表中对象的属性。 这是我的第一个问题。 但我也必须能够在此列表中包含更多对象。 我的第二个问题是我真的不知道如何实现这一点? 而且我还必须在listview中显示这些对象的属性。 也许树视图? 但我不明白我是怎么开始这个..

有人提出一些想法吗?

您可以任意嵌套DataTemplates,例如

<ListView ItemsSource="{Binding Data}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Name"        DisplayMemberBinding="{Binding Name}"/>
            <!-- Internal Manchines list gets its own ListView -->
            <GridViewColumn Header="Machines">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <ListView ItemsSource="{Binding Machines}">
                            <ListView.View>
                                <GridView>
                                    <GridViewColumn Header="Model" DisplayMemberBinding="{Binding Model}"/>
                                    <GridViewColumn Header="Manufacturer" DisplayMemberBinding="{Binding Manufacturer}"/>
                                </GridView>
                            </ListView.View>
                        </ListView>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Occupation"  DisplayMemberBinding="{Binding Occupation}"/>
            <GridViewColumn Header="Status"      DisplayMemberBinding="{Binding Status}"/>
        </GridView>
    </ListView.View>
</ListView>

这可以在对齐方面进行改进,例如,您可以在DataTemplate中使用共享大小列设置Grid,以使所有列表具有相同的宽度(使内部列对齐可能有点困难)

此外,您可以定义一种样式来折叠空列表(否则将显示没有项目的标题)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM