I am trying to databind xml nodes to hierarchical treeview. I successfully databinded to the first level of XML data source but cannot correctly databind to second and third level. I am wondering to find out what I am doing wrong. Any similar sample will be highly appreciated. Is that possible to slide out level3 items horizontally while other levels slide out vertically? Thank you in advance.
Here is my XML:
XAML:
Here is my XML:
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
Pages
xmlns
=
""
>
<
page
name
=
"Name 1"
UriSource
=
"Pages/Name1.xaml"
/>
<
page
name
=
"Name 2"
UriSource
=
"Pages/Name2.xaml"
>
<
level2
name
=
"ALL1"
UriSource
=
"Pages/All1.xaml"
/>
<
level2
name
=
"ALL2"
UriSource
=
"Pages/All2.xaml"
/>
<
level2
name
=
"ALL3"
UriSource
=
"Pages/All3.xaml"
/>
</
page
>
<
page
name
=
"Name 3"
UriSource
=
"Pages/Name3.xaml"
/>
<
level2
name
=
"ALL1"
UriSource
=
"Pages/All1.xaml"
>
<
level3
name
=
"ALL3_1"
UriSource
=
""
/>
<
level3
name
=
"ALL3_2"
UriSource
=
""
/>
<
level3
name
=
"ALL3_3"
UriSource
=
""
/>
</
level2
>
<
level2
name
=
"ALL2"
UriSource
=
"Pages/All2.xaml"
/>
<
level2
name
=
"ALL3"
UriSource
=
"Pages/All3.xaml"
/>
</
page
>
<
page
name
=
"Name 4"
UriSource
=
"Pages/Name4.xaml"
/>
</
Pages
>
XAML:
<
Window
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:telerikQuickStart
=
"clr-namespace:Telerik.Windows.Controls.QuickStart;assembly=Telerik.Windows.Controls"
x:Class
=
"NavPane_2.MainWindow"
x:Name
=
"Window"
Title
=
"MainWindow"
Width
=
"640"
Height
=
"480"
>
<
Window.Resources
>
<
XmlDataProvider
x:Key
=
"PageData"
Source
=
"Data/data.xml"
XPath
=
"/Pages"
/>
<
HierarchicalDataTemplate
x:Key
=
"page"
ItemsSource
=
"{Binding XPath=page}"
ItemTemplate
=
"{StaticResource level2}"
>
<
TextBlock
Text
=
"{Binding XPath=@name}"
/>
</
HierarchicalDataTemplate
>
<
HierarchicalDataTemplate
x:Key
=
"level2"
ItemsSource
=
"{Binding XPath=page/level2}"
ItemTemplate
=
"{StaticResource level3}"
>
<
TextBlock
Text
=
"{Binding XPath=@name}"
/>
</
HierarchicalDataTemplate
>
<
DataTemplate
x:Key
=
"level3"
ItemsSource
=
"{Binding XPath=page/level2/level3}"
>
<
TextBlock
Text
=
"{Binding XPath=@name}"
/>
</
DataTemplate
>
</
Window.Resources
>
<
Grid
x:Name
=
"LayoutRoot"
>
<
telerikQuickStart:HeaderedContentControl
HorizontalAlignment
=
"Center"
VerticalAlignment
=
"Center"
Header
=
"Sample"
telerikQuickStart:ThemeAwareBackgroundBehavior.IsEnabled
=
"True"
HorizontalContentAlignment
=
"Stretch"
VerticalContentAlignment
=
"Stretch"
Width
=
"250"
Height
=
"350"
>
<
telerik:RadTreeView
HorizontalAlignment
=
"Left"
Margin
=
"8"
Background
=
"#FFF9F9F9"
IsDragDropEnabled
=
"True"
SelectionMode
=
"Multiple"
IsSingleExpandPath
=
"True"
telerik:StyleManager.Theme
=
"Vista"
ItemTemplate
=
"{StaticResource page}"
ItemsSource
=
"{Binding Source={StaticResource PageData}, XPath=page}"
>
</
telerik:RadTreeView
>
</
telerikQuickStart:HeaderedContentControl
>
</
Grid
>
</
Window
>