0

ハーブ データベース プログラムを作成していますが、メイン データ クラスの HierarchicalDataTemplates の設定に問題があります。

必要なツリー レイアウト:

  • 用語集
    • カテゴリー1
      • レター (リスト全体のサイズを縮小)
        • エントリ
          • 注1
          • 注2
  • ハーブ

    • 植物名

      • アルファベット順
        • レター (リスト全体のサイズを縮小)
          • エントリ
      • 家族別
        • 家族
          • エントリ
    • 一般名

      • レター (リスト全体のサイズを縮小)
        • エントリ

注:すべてのエントリにメモがあります 注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>
4

1 に答える 1

0

この例は、バインドされたアイテムのタイプごとに異なるレベルで異なるアイテム テンプレートを割り当てる方法を示しています ...

TreeView に HierarchicalDataTemplates を持つ

于 2011-10-03T10:12:20.403 に答える