ハーブ データベース プログラムを作成していますが、メイン データ クラスの HierarchicalDataTemplates の設定に問題があります。
必要なツリー レイアウト:
- 用語集
- カテゴリー1
- レター (リスト全体のサイズを縮小)
- エントリ
- 注1
- 注2
- エントリ
- レター (リスト全体のサイズを縮小)
- カテゴリー1
ハーブ
植物名
- アルファベット順
- レター (リスト全体のサイズを縮小)
- エントリ
- レター (リスト全体のサイズを縮小)
- 家族別
- 家族
- エントリ
- 家族
- アルファベット順
一般名
- レター (リスト全体のサイズを縮小)
- エントリ
- レター (リスト全体のサイズを縮小)
注:すべてのエントリにメモがあります 注2:文字はソート用のアルファベットです
元:
- a
- りんご
- b
- バス
メインクラス:
Public Class MainSystem
Public herbs As New Dictionary(Of Integer, herbEntry)
Public glossary As New Dictionary(Of Integer, glossaryEntry)
End Class
用語集エントリ:
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
ハーブエントリー:
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>