Я создаю травяную базу данных, и у меня возникают проблемы с настройкой HierarchicalDataTemplates для моего основного класса данных.
Требуется макет дерева:
- Глоссарий
- Категория1
- Letter (уменьшает общий размер списка)
Трава
Ботаническое имя
- По алфавиту
- Letter (уменьшает общий размер списка)
- по семье
Общее имя
- Letter (уменьшает общий размер списка)
ПРИМЕЧАНИЕ: все записи имеют заметки
ПРИМЕЧАНИЕ 2: Буква - это буква алфавита для сортировки
Ex:
Основной класс:
Public Class MainSystem
Public herbs As New Dictionary(Of Integer, herbEntry)
Public glossary As New Dictionary(Of Integer, glossaryEntry)
End Class
GlossaryEntry:
Public Class glossaryEntry
Public Property ID As Integer
Public Property Words As List(Of String) 'Each word is in the format: Catagory/word
Public Property Notes As SortedDictionary(Of String, String)
End Class
HerbEntry:
Public Class herbEntry
Public ID As Integer
Public Property commonName As List(Of String)
Public Property botanicalName As List(Of String)
Public Property PlantID As PlantID
End Class
РЕДАКТИРОВАТЬ: Благодаря ссылке от @AngelWPF у меня есть дерево, отображающее мой объект. Но в настоящее время дерево выглядит так:
- Травы
- Общее имя
- Элемент CommonName из записи
- Еще один элемент CommonName из записи
- Общее имя
- Элемент CommonName из записи
- Еще один элемент CommonName из записи
Как я могу сделать это изменение, чтобы соответствовать моей иерархии?
XAML:
<UserControl.Resources>
<HierarchicalDataTemplate DataType="{x:Type my:herbEntry}">
<TreeViewItem Header="Common Name" ItemsSource="{Binding commonName}">
</TreeViewItem>
</HierarchicalDataTemplate>
</UserControl.Resources>
<Grid>
<TreeView HorizontalAlignment="Stretch" Name="TreeView1" VerticalAlignment="Stretch">
<TreeViewItem Header="Herbs" ItemsSource="{Binding herbs.Values}"/>
</TreeView>
</Grid>