微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在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.效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐