【发布时间】:2017-01-23 14:25:55
【问题描述】:
我是 WPF 新手,不知道如何将该数据集绑定到树视图
Dim dtHDD As New DataTable("Disks")
dtHDD.Columns.Add("ID")
dtHDD.Columns.Add("DiskName")
dtHDD.Rows.Add(1, "Disc1")
dtHDD.Rows.Add(2, "Disc2")
Dim dtFolders As New DataTable("Folders")
dtFolders.Columns.Add("ID")
dtFolders.Columns.Add("DiskID")
dtFolders.Columns.Add("FolderID")
dtFolders.Columns.Add("FolderName")
dtFolders.Rows.Add(1, 2, DBNull.Value, "Music")
dtFolders.Rows.Add(2, 1, DBNull.Value, "Documents")
dtFolders.Rows.Add(3, 1, 2, "Scatches")
dtFolders.Rows.Add(4, 1, 3, "Images")
dtFolders.Rows.Add(5, 1, 3, "Folder1")
dtFolders.Rows.Add(6, 1, 2, "Bin")
dtFolders.Rows.Add(7, 2, DBNull.Value, "Moves")
dtFolders.Rows.Add(8, 1, 5, "Another one")
Dim dtFiles As New DataTable("Files")
dtFiles.Columns.Add("ID")
dtFiles.Columns.Add("FolderID")
dtFiles.Columns.Add("FileName")
dtFiles.Rows.Add(1, 8, "file1")
dtFiles.Rows.Add(2, 2, "file2")
dtFiles.Rows.Add(3, 3, "file3")
dtFiles.Rows.Add(4, 2, "file4")
dtFiles.Rows.Add(5, 5, "file5")
dtFiles.Rows.Add(6, 5, "file6")
dtFiles.Rows.Add(7, 8, "file7")
dtFiles.Rows.Add(8, 8, "file8")
dtFiles.Rows.Add(9, 1, "file9")
Dim ds As New DataSet
ds.Tables.Add(dtHDD)
ds.Tables.Add(dtFolders)
ds.Tables.Add(dtFiles)
ds.Relations.Add("DiskFolder", ds.Tables("Disks").Columns("ID"), ds.Tables("Folders").Columns("DiskID"))
ds.Relations.Add("FolderFolder", ds.Tables("Folders").Columns("ID"), ds.Tables("Folders").Columns("FolderID"))
ds.Relations.Add("FolderFile", ds.Tables("Folders").Columns("ID"), ds.Tables("Files").Columns("FolderID"))
treeTest.ItemsSource = ds.Tables("Disks").DefaultView
所以每个磁盘只能包含文件夹。 每个文件夹都可以包含文件和文件夹。 我做了以下标记
<TreeView x:Name="treeTest" Margin="380,0,0,0">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding DiskFolder}">
<TextBlock Text="{Binding DiskName}"/>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding FolderName}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
但我不知道如何为文件夹表设置 RowFilter 规则以及如何在该树视图中添加文件。
【问题讨论】:
标签: wpf data-binding treeview