Linq Group By with TreeView

时间:2012-08-03 16:23:20

标签: vb.net linq treeview group-by

我正在尝试使用链接分组数据并直接在treeview1.itemsource中使用它。该 我用的代码是:

DisksTreeView1.ItemsSource = (From g As Classes.DiskPrime In CurrentVariables.DisksList
                                     Group By g.Genre
                                      Into MyGroup = Group)

和Xaml是:

<TreeView Name="DisksTreeView1" >
    <TreeView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Namee}" />
        </DataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

班级代码是:

Public Class DiskPrime
        Property ID As String
        Property Namee As String
        Property Genre As String
        Property DateCreated As Date
        Property Path As String   
End Class

运行程序后,我只得到一张空白的树视图,请你纠正我错误的地方。谢谢。

1 个答案:

答案 0 :(得分:0)

使用GroupBy会返回IEnumerable<IGrouping<string, DiskPrime>>,这意味着您实际上绑定的是IGrouping<string, DiskPrime>而不是DiskPrime

要查看可以绑定到Key而不是Namee

的组名

这只会显示第一级(组名)。要查看每个组包含哪些元素,您需要使用HierarchicalDataTemplate代替DataTemplate