【发布时间】:2009-11-13 14:25:55
【问题描述】:
我想知道是否有人可以提供以下简单示例。 (最好在 VB.Net 中):
我有一个带有相关表的 SQL 数据库,并且我在我的应用程序的其他区域中成功地使用了 LINQ to SQL,但我对层次树视图有点卡住了。
我只想使用来自数据库的 LINQ 查询作为 WPF Treeview 的源。如果我可以将树视图的 ItemsSource 设置为我的 LINQ 结果,并且只需将树视图项目的数据绑定设置到可以让我度过一天的各个列,但我似乎无法让它做饭。
在网上搜索了好几个小时后,我根本找不到很多可以非常简单地说明这一点的例子。我发现了类似的想法,但对于像我这样的新手来说并不简单和具体。
据我了解,在执行 LINQ 查询时,DBML 文件中定义的关系应该保持不变。那么,我可以将这样的东西作为 Treeview 的 ItemsSource 吗?
Dim pdc As New ProjectDataContext()
Public Property Selection() As Integer
Dim tree = From c In pdc.Customers _
Where c.CustomerID = _Selection _
Select c
projecttreeview.ItemsSource = tree
然后,TreeView 项的数据绑定可能只是父节点的 {Binding CustomerName) 并说 {Binding Orders.OrderName} 作为子节点。例如:
<TreeView Name="projecttreeview">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Customers}">
<TextBlock.Text="Binding CustomerName}"/>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock.Text="{Binding Orders.OrderName}"/>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
显然,这并不像我想的那样简单。任何指针将不胜感激。
【问题讨论】:
标签: wpf linq-to-sql data-binding treeview