मुझे यह Abe Heidebrecht से सहायता के साथ काम मिला। उसके लिए बहुत धन्यवाद।
यहाँ मेरी XAML है ...
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:PageManager"
Title="Window1" Height="300" Width="300" Name="Window1">
<Grid>
<TreeView Margin="12" Name="TreeViewPages" ItemsSource="{Binding}" TreeViewItem.Expanded="TreeViewPages_Expanded">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:Page}" ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Path=ShortTitle}" />
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
</Grid>
</Window>
यहाँ मेरी Visual Basic कोड है ...
Class Window1
Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Dim db As New PageEntities
Dim RootPage = From p In db.Page.Include("Children") _
Where (p.Parent Is Nothing) _
Select p
TreeViewPages.ItemsSource = RootPage
End Sub
Private Sub TreeViewPages_Expanded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Dim ExpandedTreeViewItem As TreeViewItem = DirectCast(e.OriginalSource, TreeViewItem)
Dim PageId As Guid = DirectCast(ExpandedTreeViewItem.DataContext, Page).Id
Dim db As New PageEntities
Dim ChildPages = From p In db.Page.Include("Children") _
Where p.Parent.Id = PageId _
Select p
ExpandedTreeViewItem.ItemsSource = ChildPages
End Sub
End Class
विंडो लोड, रूट नोड और उसके बच्चों डेटाबेस से पूछे और डाला जाता है जब पेड़ में
हर बार जब नोड का विस्तार होता है, तो नोड के बच्चों और पोते-पोते डेटाबेस से पूछे जाते हैं और पेड़ में डाले जाते हैं।
स्रोत
2008-11-07 20:25:44
आपकी छवि लिंक टूटा हुआ प्रतीत होता है। आप अभी भी मूल छवि है, तो stack.imgur करने के लिए इसे पुन: अपलोड करें, या सिर्फ यह छवि के बिना काम करने के लिए अपने प्रश्न को संपादित करें। धन्यवाद। –