Ich habe in meinem Programm eine Liste mit "Category"-Objekten, jedes "Category"-Object enthält eine weitere Liste mit "Product"-Objekten.. Diese wollte ich in einem TreeView anzeigen lassen.. Quasi erst die Kategorien und wenn man die dann anklickt die jeweiligen Produkte..
Ich habe jetzt folgenden Quelltext..
<TreeView Height="300" Width="500" Margin="0,20,0,0" x:Name="TreeView" ContextMenu="{StaticResource Popup}" ItemsSource="{Binding Categories}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{ Binding Products}">
<TextBlock Text="{Binding ProductTitle}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
Es werden jetzt nur Produkte angezeigt, der Kategorietitel jedoch nicht..
Weiss jemand, wie ich den gegebenen Quelltext anpassen must, damit das passiert X(
Mit freundlichen Grüßen
Es werden jetzt nur Produkte angezeigt, der Kategorietitel jedoch nicht..
Ich kann nicht erkennen, wo du den Kategorietitel ausgibst.
Weeks of programming can save you hours of planning
genau..
mir ist irgendwie noch nicht ganz klar an welcher Stelle ich den Kategorietitel ausgeben muss, denn
wenn ich beispielsweise
<TreeView.ItemTemplate>
<TextBlock Text="{Binding CategoryName}" />
<HierarchicalDataTemplate ItemsSource="{ Binding Products}">
<TextBlock Text="{Binding ProductTitle}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
kriege ich einen Fehler --> sinngemäß "Die Item-Auflistung muss vor dem ersten Aufruf leer sein"
MfG l'Erik
Meiner Meinung nach müßte es so in etwa aussehen:
<Grid>
<Grid.Resources>
<HierarchicalDataTemplate DataType="{x:Type Category}" ItemsSource="{Binding Products}">
<TextBlock Text="{Binding CategoryName}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type Product}" >
<TextBlock Text="{Binding ProductTitle}" />
</HierarchicalDataTemplate>
</Grid.Resources>
<TreeView Height="300" Width="500" Margin="0,20,0,0" x:Name="TreeView" ContextMenu="{StaticResource Popup}" ItemsSource="{Binding Categories}">
</Grid>
Christian
Weeks of programming can save you hours of planning
Danke für die Antwort ! 👍
Ich habe es jetzt so gemacht.. .
<TreeView ItemsSource="{Binding Shops}" Margin="10" Height="200">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type TreeViewBindings:Shop}" ItemsSource="{Binding Categories}">
<StackPanel>
<TextBlock Text="{Binding Path=Shopname}" />
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type TreeViewBindings:Category}" ItemsSource="{Binding Products}">
<StackPanel>
<TextBlock Text="{Binding Path=CategoryName}" />
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type TreeViewBindings:Product}" ItemsSource="{Binding Products}">
<StackPanel>
<TextBlock Text="{Binding Path=Title}" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
Die Ausgabe ist in etwa :
quasi genau das, was ich wollte :3
MfG
E.