在Telerik for silverlight控件radtreeview中如何绑定数据(object)

1.首先构造实体类Team

public class Team
    {
        public Team(string name)
        {
            this.Name = name;
        }

        public string Name { get; set; }
    }

2.构造实体类

 public class Division
    {
        public Division(string name)
        {
            this.Name = name;
            this.Teams = new ObservableCollection<Team>();
        }

        public string Name { get; set; }

        public ObservableCollection<Team> Teams { get; set; }
    }

3.构造实体类League

public class League
    {
        public League(string name)
        {
            this.Name = name;
            this.Divisions = new ObservableCollection<Division>();
        }
        public string Name
        {
            get;
            set;
        }
        public ObservableCollection<Division> Divisions
        {
            get;
            set;
        }

    }

4.构造一个提供数据的类RadTreeViewSampleData

public class RadTreeViewSampleData
    {
        public RadTreeViewSampleData()
        {
            this.InitializeLeaguesDataSource();
        }
        public ObservableCollection<League> LeaguesDataSource
        {
            get;
            set;
        }
        private void InitializeLeaguesDataSource()
        {
            this.LeaguesDataSource = new ObservableCollection<League>();
            League l;
            Division d;
            this.LeaguesDataSource.Add(l = new League("League A"));
            l.Divisions.Add((d = new Division("Division A")));
            d.Teams.Add(new Team("Team I"));
            d.Teams.Add(new Team("Team II"));
            d.Teams.Add(new Team("Team III"));
            d.Teams.Add(new Team("Team IV"));
            d.Teams.Add(new Team("Team V"));
            l.Divisions.Add((d = new Division("Division B")));
            d.Teams.Add(new Team("Team Blue"));
            d.Teams.Add(new Team("Team Red"));
            d.Teams.Add(new Team("Team Yellow"));
            d.Teams.Add(new Team("Team Green"));
            d.Teams.Add(new Team("Team Orange"));
            l.Divisions.Add((d = new Division("Division C")));
            d.Teams.Add(new Team("Team East"));
            d.Teams.Add(new Team("Team West"));
            d.Teams.Add(new Team("Team North"));
            d.Teams.Add(new Team("Team South"));
            this.LeaguesDataSource.Add(l = new League("League B"));
            l.Divisions.Add((d = new Division("Division A")));
            d.Teams.Add(new Team("Team 1"));
            d.Teams.Add(new Team("Team 2"));
            d.Teams.Add(new Team("Team 3"));
            d.Teams.Add(new Team("Team 4"));
            d.Teams.Add(new Team("Team 5"));
            l.Divisions.Add((d = new Division("Division B")));
            d.Teams.Add(new Team("Team Diamond"));
            d.Teams.Add(new Team("Team Heart"));
            d.Teams.Add(new Team("Team Club"));
            d.Teams.Add(new Team("Team Spade"));
            l.Divisions.Add((d = new Division("Division C")));
            d.Teams.Add(new Team("Team Alpha"));
            d.Teams.Add(new Team("Team Beta"));
            d.Teams.Add(new Team("Team Gamma"));
            d.Teams.Add(new Team("Team Delta"));
            d.Teams.Add(new Team("Team Epsilon"));
        }

    }

5.在页面上绑定数据

    <UserControl.Resources>
        <sampleData:RadTreeViewSampleData x:Key="DataSource"/>

        <DataTemplate x:Key="Team">
            <TextBlock Text="{Binding Name}" />
        </DataTemplate>
        <telerik:HierarchicalDataTemplate x:Key="Division" ItemTemplate="{StaticResource Team}"
          ItemsSource="{Binding Teams}">
            <TextBlock Text="{Binding Name}" />
        </telerik:HierarchicalDataTemplate>
        <telerik:HierarchicalDataTemplate x:Key="League" ItemTemplate="{StaticResource Division}"
          ItemsSource="{Binding Divisions}">
            <TextBlock Text="{Binding Name}" />
        </telerik:HierarchicalDataTemplate>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot">
<telerik:RadTreeView
      ItemsSource="{Binding Source={StaticResource DataSource}, Path=LeaguesDataSource}"
      ItemTemplate="{StaticResource League}" />
    </Grid>

6.效果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值