Интересно, кто-нибудь может привести простой пример следующего. (желательно в VB.Net):
У меня есть база данных SQL со связанными таблицами, и я успешно использую LINQ to SQL в других областях моего приложения, но немного застрял с Heirarchical Treeview.
Я просто хотел бы использовать запрос LINQ из базы данных в качестве источника для WPF Treeview. Если я могу установить ItemsSource для древовидного представления в качестве результата LINQ и просто установить привязку данных для элементов древовидного списка к различным столбцам, из-за которых у меня будет день, но, похоже, я не смогу его приготовить.
После долгих часов поиска в сети, я не могу найти много примеров, которые показывают это очень просто. Я нашел похожие идеи, но ничего простого и специфичного для такого новичка, как я.
Насколько я понимаю, отношения, определенные в файле DBML, должны оставаться неизменными при выполнении запроса LINQ. Итак, я могу иметь что-то вроде этого в качестве ItemsSource для Treeview?
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>
Очевидно, что это не совсем так просто, как хотелось бы. Любые указатели будут с благодарностью.