In this article we will be seeing how to use Silverlight tree view control in
SharePoint 2010.
I have created a Silverlight tree view which is used to display all the lists
available in the site as shown in the following.

"Sample" is the name of the site. When you expand the site you could see all the
lists available for the list.
Xaml:
<sdk: TreeView/>
Steps Involved:
Creating a Silverlight Application:
- Open Visual Studio 2010.
- Go to File => New => Project.
- Select Silverlight from the Installed templates and choose the Silverlight Application template.
- Enter the Name and choose the location.
- Click OK.
- In the New Silverlight Application wizard uncheck the "Host the Silverlight Application in a new Web site".
- Click OK.
Creating the UI :
Open MainPage.xaml file and replace the code with the following one.
<UserControl
x:Class="TreeviewControl.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">
<Grid
x:Name="LayoutRoot"
Background="Gray">
<sdk:TreeView
Height="200"
HorizontalAlignment="Left"
Margin="0,47,0,0"
Name="treeView"
VerticalAlignment="Top"
Width="400"
>
<sdk:TreeView.ItemTemplate>
<sdk:HierarchicalDataTemplate
ItemsSource="{Binding
Children}"
>
<StackPanel>
<TextBlock
Text="{Binding
Title}"
Foreground="Green"
/>
</StackPanel>
</sdk:HierarchicalDataTemplate>
</sdk:TreeView.ItemTemplate>
</sdk:TreeView>
</Grid>
</UserControl>
Open MainPage.xaml.cs file and replace the code with the following one.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Net;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Animation;
using
System.Windows.Shapes;
using
Microsoft.SharePoint.Client;
namespace
TreeviewControl
{
public partial
class MainPage
: UserControl
{
private
ClientContext context;
private
ListCollection listColl;
public class
Site
{
public
string Title { get;
set; }
public
List<SiteLists> Children {
get; set; }
}
public class
SiteLists
{
public
string Title { get;
set; }
}
public MainPage()
{
InitializeComponent();
context = new
ClientContext(ApplicationContext.Current.Url);
context.Load(context.Web);
listColl = context.Web.Lists;
context.Load(listColl);
context.ExecuteQueryAsync(new
ClientRequestSucceededEventHandler(OnRequestSucceeded),
null);
}
private void
OnRequestSucceeded(Object sender,
ClientRequestSucceededEventArgs args)
{
// This is not called on the UI thread.
Dispatcher.BeginInvoke(BindData);
}
private void
BindData()
{
List<Site>
siteColl = new List<Site>();
Site site=
new Site {
Title = context.Web.Title };
siteColl.Add(site);
site.Children = new
List<SiteLists>();
foreach (List
list in listColl)
{
SiteLists siteLists =
new SiteLists
{ Title = list.Title };
site.Children.Add(siteLists);
}
this.treeView.ItemsSource = siteColl;
}
}
}
Build the solution.
Deploying in SharePoint site:
-
Upload the xap file in the SharePoint Site => Shared Documents.
-
Go to Site Actions => Edit Page => Editing Tools => Insert => Web Part.

-
Go to Categories => Media and Content => Silverlight Web Part => Click on Add.
-
In the URL give the path of the xap file ~site/Sample/Shared%20Documents/TreeviewControl.xap

-
Click on Ok.

Parveen SiwachPosted Jan 27, 2012, 10:56 AM
SharePoint doesn’t provide any column type to represent the relational data in tree view format. E.g. Country > State > City is the best example for such data structures. This open source package provides the capability to creating tree view column within SharePoint environment. If you are also looking for any data to represent in tree format in SharePoint 2010 then this control for you provided you are storing data in one list with parent lookup reference of same list. http://code.google.com/p/sharepoint-treeview-column/
Aymen MemnyPosted Dec 6, 2011, 9:12 AM
Hi Vijai Anand, Thanks for your post.It's very interesting. But when trying to test this example i get an error: The type sdk:TreeView is unknown. Is there a reference missing? Erreur 1 Le type 'sdk:TreeView' est introuvable. Assurez-vous qu'il ne manque aucune référence d'assembly et que tous les assemblys référencés ont été générés. c:\users\admin ibs\documents\visual studio 2010\Projects\SilverlightTreeview\SilverlightTreeview\MainPage.xaml 10 10 SilverlightTreeview Best regards, Aymen