Reputation: 1679
I need to display a simple "list of lists" on a WPF form where, for each parent row, the children are displayed in a horizontal wrappanel - could someone please help with required XAML?
e.g. Hierarchical data such as:
class Parent { public string Key; public List<Child> Children; }
class Child { public string Name; }
The desired display would be (K/Key, N/Name):
|K1 N1 N2 N3|
| N4 N5 |
|K2 N1 N2 |
I'm fairly new to WPF, I tried things like:
<ListView Name="lv" Binding="myParentList">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Key}"/>
<ListView ItemsSource="{Binding myParentListItems}">
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Thanks!
Upvotes: 0
Views: 212
Reputation: 1386
try:
<ListView Name="lv" Binding="myParentList">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Key}"/>
<ListView ItemsSource="{Binding myParentListItems}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal">
</WrapPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<Template>
<TextBlock Text="{Binding Name}" />
<Template>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Upvotes: 1