
0.使用MiroModes框架请先阅读http://blogs.telerik.com/blogs/posts/10-01-20/micromodels_for_silverlight.aspx
1.首先定义模型
public class division { public int ID { get; set; } public string name { get; set; } public List<Team> Teams { get; set; } } public class Team { public int ID { get; set; } public string name { get; set; } public int Place { get; set; } } public class divisionsService { public static ObservableCollection<division> Getdivisions() { ObservableCollection<division> divisions = new ObservableCollection<division>(); division dA = new division(); dA.name = "division A"; dA.ID = 1; dA.Teams = new List<Team>(); Team team1 = new Team(); team1.ID = 1; team1.name = "Team I"; team1.Place = 1; dA.Teams.Add(team1); Team team2 = new Team(); team2.ID = 2; team2.name = "Team II"; team2.Place = 2; dA.Teams.Add(team2); Team team3 = new Team(); team3.ID = 3; team3.name = "Team III"; team3.Place = 3; dA.Teams.Add(team3); divisions.Add(dA); division dB = new division(); dB.name = "division B"; dB.ID = 2; dB.Teams = new List<Team>(); Team teamRed = new Team(); teamRed.ID = 1; teamRed.name = "Team Red"; teamRed.Place = 1; dB.Teams.Add(teamRed); Team teamGreen = new Team(); teamGreen.ID = 2; teamGreen.name = "Team Green"; teamGreen.Place = 2; dB.Teams.Add(teamGreen); Team teamBlue = new Team(); teamBlue.ID = 3; teamBlue.name = "Team Blue"; teamBlue.Place = 3; dB.Teams.Add(teamBlue); divisions.Add(dB); division dC = new division(); dC.name = "division C"; dC.ID = 3; dC.Teams = new List<Team>(); Team teamAlpha = new Team(); teamAlpha.ID = 1; teamAlpha.name = "Team Alpha"; teamAlpha.Place = 1; dC.Teams.Add(teamAlpha); Team teamBeta = new Team(); teamBeta.ID = 2; teamBeta.name = "Team Beta"; teamBeta.Place = 2; dC.Teams.Add(teamBeta); Team teamGama = new Team(); teamGama.ID = 3; teamGama.name = "Team Gama"; teamGama.Place = 3; dC.Teams.Add(teamGama); divisions.Add(dC); return divisions; } } 3.定义viewmodel
public class viewmodel : MicroModel { public viewmodel(ObservableCollection<division> divisions) { //AllPropertIEs(order); Collection("lineItems",() => divisions); //.Each((item,model) => model.Property("linetotal",() => item.UnitPrice * item.Quantity)); //Command("Save",() => orderService.Save(order,lineItems)); } } 4.定义vIEw
<GrID x:name="LayoutRoot" DataContext="{Binding Object}"><telerik:RadGrIDVIEw autoGenerateColumns="False" x:name="HIErarchicalGrIDVIEw" ItemsSource="{Binding Path=lineItems}"> <telerik:RadGrIDVIEw.ChildtableDeFinitions> <telerik:GrIDVIEwtableDeFinition> <telerik:GrIDVIEwtableDeFinition.Relation> <telerik:PropertyRelation ParentPropertyname="Teams" /> </telerik:GrIDVIEwtableDeFinition.Relation> </telerik:GrIDVIEwtableDeFinition> </telerik:RadGrIDVIEw.ChildtableDeFinitions> <telerik:RadGrIDVIEw.Columns> <telerik:GrIDVIEwDataColumn header="ID"> <telerik:GrIDVIEwColumn.CellTemplate> <DataTemplate> <GrID DataContext="{Binding Object}" > <GrID.ColumnDeFinitions> <ColumnDeFinition WIDth="80" /> </GrID.ColumnDeFinitions> <TextBlock margin="1" GrID.Column="0" Text="{Binding Path=ID}" /> </GrID> </DataTemplate> </telerik:GrIDVIEwColumn.CellTemplate> </telerik:GrIDVIEwDataColumn> <telerik:GrIDVIEwDataColumn header="name"> <telerik:GrIDVIEwColumn.CellTemplate> <DataTemplate> <GrID DataContext="{Binding Object}" > <GrID.ColumnDeFinitions> <ColumnDeFinition WIDth="80" /> </GrID.ColumnDeFinitions> <TextBlock margin="1" GrID.Column="0" Text="{Binding Path=name}" /> </GrID> </DataTemplate> </telerik:GrIDVIEwColumn.CellTemplate> </telerik:GrIDVIEwDataColumn> </telerik:RadGrIDVIEw.Columns> </telerik:RadGrIDVIEw> 完成,显示效果为: 总结
以上是内存溢出为你收集整理的使用MircoModes实现RadGridview的绑定(silverlight)全部内容,希望文章能够帮你解决使用MircoModes实现RadGridview的绑定(silverlight)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)