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

来源:互联网 发布:sql取绝对值函数 编辑:程序博客网 时间:2024/05/22 05:24

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


原创粉丝点击