0

現在、プロジェクトのプログラムに読み込みたいファイルのカタログがあります。構造。

Project
   - Properties
   - References
   - Manufacturers (want to project this as treeview)
      - Honda
         - file1
         - file2
      - Toyota
         - file1
         - file2

私のプログラムでは、上記の各ファイルは独自のビジネスオブジェクトで表されています。私のプログラムでこれをツリービューに含めることができるようにしたいと思います。

- Honda
     - file1
     - file2
- Toyota
     - file1
     - file2

これらのファイルを1回だけロードするので、これらのファイルを1回読み取り、ツリービューにバインドします。これを行うためのエレガントな方法はありますか?

ありがとう、Kev

4

1 に答える 1

1

HierarchicalDataTemplateを利用できます

<toolkit:HierarchicalDataTemplate x:Key="FileTemplate" >
       <TextBlock Text="{Binding Path=FileName}" />
</toolkit:HierarchicalDataTemplate>
<toolkit:HierarchicalDataTemplate x:Key="ManufacturerTemplate" 
        ItemsSource="{Binding Path=Files}" 
        ItemTemplate="{StaticResource FileTemplate}">
        <TextBlock Text="{Binding Path=Name}"/>
</toolkit:HierarchicalDataTemplate>

<toolkit:TreeView ItemsSource="{Binding}" 
    ItemTemplate="{StaticResource ManufacturerTemplate}"/>

ビジネス オブジェクトは次のようになります...

class Manufacturer
{
     String Name {get; set;}
     ObservableCollection<File> Files {get; set;}

}

class File
{
     String FileName {get; set;}
}

DataContext次に、の をTreeViewに設定します。ObservableCollection<Manufacturer>

于 2011-01-31T19:53:22.757 に答える