WPF ListView - 2 个维度,1 个相同的结构
Posted
技术标签:
【中文标题】WPF ListView - 2 个维度,1 个相同的结构【英文标题】:WPF ListView - 2 dimensions with 1 same structure 【发布时间】:2014-05-10 17:48:00 【问题描述】:我们正在开发一个 ListView (C# WPF),但我们没有找到如何绑定列中的项目列表,每个项目都包含一个具有相同列的项目列表。
让我们用一个例子来说明这一点:
!
我们得到了一个带有参数(名称等)的对象的可观察集合,每个对象都包含另一个具有相同参数的对象的可观察集合(除了它们没有列表)。所以我们想在 ListView 中列出它,但我们不知道怎么做!
我们对 ListView 的了解不够,无法实现这种结构,有什么建议吗?
提前致谢
【问题讨论】:
这不是一件非常简单的事情。你希望你的组项目也可以重新调整大小吗? 他们得到了相同的列(相同的参数),所以我只想有 1 个 ListView。你觉得有可能吗? 您可以通过将 CollectionViewSource 与 GroupDescriptions 结合使用,在不调整组级别项目大小的情况下进行分组,只需查看 MSDN 即可。如果您希望您的组级别项目的行为与未分组的项目相似,它会为解决方案增加很多复杂性。 谢谢,我会努力的!如果它有效,我会更新! 【参考方案1】:我认为最好的方法是:
XAML:
<Window.Resources>
<DataTemplate x:Key="gridViewSecondCellTemplate1">
<StackPanel Width="100">
<TextBlock Text="Binding Content" FontSize="15" />
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="gridViewCellTemplate1">
<StackPanel Width="100">
<TextBlock Text="Binding Title" FontSize="15" />
<ListView ItemsSource="Binding MySecondSource>
<ListView.View>
<GridView>
<GridViewColumn Header="Binding Subtitle" CellTemplate="StaticResource gridViewSecondCellTemplate1"/>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</DataTemplate>
</Window.Resources>
<ListView ItemsSource="Binding MySource">
<ListView.View>
<GridView>
<GridViewColumn Header="Col 1" Width="100" CellTemplate="StaticResource gridViewCellTemplate1"/>
</GridView>
</ListView.View>
</ListView>
我没有尝试此代码。试试看,如果可以的话告诉我。
【讨论】:
以上是关于WPF ListView - 2 个维度,1 个相同的结构的主要内容,如果未能解决你的问题,请参考以下文章