




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
尽管在Silverlight Toolkit中有相关的DEMO来演示如何使用TreeView控件,但其还是有一些功能没被演示出来。因为在我们平时开发过程中,数据是被动态查询获取的(不是DEMO中的静态文件方式)。因此今天就演示一下如何使用WCF来获取相应数据并使用TreeView来动态加载相应结点信息。 首先,我们要创建一个WCF服务来获取相应的树形节点数据信息,如下: publicclassForumInfopublicintForumIDget;set;publicintParendIDget;set;publicstringForumNameget;set;ServiceContract(Namespace=)AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)publicclassDateServiceOperationContractpublicListGetForumData()ListforumList=newList();forumList.Add(newForumInfo()ForumID=1,ParendID=0,ForumName=笔记本版块);forumList.Add(newForumInfo()ForumID=2,ParendID=0,ForumName=台式机版块);forumList.Add(newForumInfo()ForumID=3,ParendID=1,ForumName=Dell笔记本);forumList.Add(newForumInfo()ForumID=4,ParendID=1,ForumName=IBM笔记本);forumList.Add(newForumInfo()ForumID=5,ParendID=4,ForumName=IBM-T系列);forumList.Add(newForumInfo()ForumID=6,ParendID=4,ForumName=IBM-R系列);forumList.Add(newForumInfo()ForumID=7,ParendID=2,ForumName=联想台式机);forumList.Add(newForumInfo()ForumID=8,ParendID=2,ForumName=方正台式机);forumList.Add(newForumInfo()ForumID=9,ParendID=2,ForumName=HP台式机);forumList.Add(newForumInfo()ForumID=10,ParendID=7,ForumName=联想家悦H系列);forumList.Add(newForumInfo()ForumID=11,ParendID=7,ForumName=联想IdeaCentre系列);returnforumList; 从代码中可看出,ForumInfo是使用ParendID来记录父结点信息并以此来创建一个树形结构的,而方法:GetForumData()即是演示了我们平时查询数据的过程。我们在Silverlight中添加对该服务的引用即可。 我们在Silverlight中添加对Silverlight Toolkit相关DLL引用,然后向XAML文件上拖入一个TREEVIEW控件。并将其命名为“TreeOfLife”,最后我们再放几个TextBlock来显示树形结点被点击后显示的相应的ForumInfo信息。最后XAML中的内容如下所示: 下面是相应的XAML.CS文件中的内容,主要是使用递归方式遍历数据列表并创建相关的结点信息: publicpartialclassPage:UserControlDateServiceClientdataServiceClient=newDateServiceClient();ObservableCollectionforumList=newObservableCollection();publicPage()InitializeComponent();/此样式只添加在根结点上/TreeOfLife.ItemContainerStyle=this.ResourcesRedItemStyleasStyle;dataServiceClient.GetForumDataCompleted+=newEventHandler(dataServiceClient_GetForumDataCompleted);dataServiceClient.GetForumDataAsync();voiddataServiceClient_GetForumDataCompleted(objectsender,GetForumDataCompletedEventArgse)tryforumList=e.Result;AddTreeNode(0,null);catchthrownewNotImplementedException();privatevoidAddTreeNode(intparentID,TreeViewItemtreeViewItem)Listresult=(fromforumInfoinforumListwhereforumInfo.ParendID=parentIDselectforumInfo).ToList();if(result.Count0)foreach(ForumInfoforuminfoinresult)TreeViewItemobjTreeNode=newTreeViewItem();objTreeNode.Header=foruminfo.ForumName;objTreeNode.DataContext=foruminfo;/此样式将会添加的所有叶子结点上/objTreeNode.ItemContainerStyle=this.ResourcesRedItemStyleasStyle;/添加根节点if(treeViewItem=null)TreeOfLife.Items.Add(objTreeNode);elsetreeViewItem.Items.Add(objTreeNode);AddTreeNode(foruminfo.ForumID,objTreeNode);privatevoidTreeOfLife_SelectedItemChanged(objectsender,RoutedPropertyChangedEventArgse)TreeViewItemitem=e.NewValueasTreeViewItem;ForumInfofi=item.DataContextasForumInfo;DetailsPanel.DataContext=fi; 下面演示一下效果,如下图所示: 当前TreeView控件还支持样式定义,比如可以给每个树形结点前添加CheckBox和一个小图标,这里我们使用下面样式: 然后在cs文件中使用下面语句将该样式绑定到TreeView上: TreeOfLife.ItemContainerStyle=this.ResourcesRedItemStyleasStyle; 下面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年肿瘤一病区一月份试卷N0及答案
- 特种设备生产单位质量安全总监和质量安全员考试题库含答案
- 中医内科习题库+参考答案
- 活动策划方案在哪找方案
- 摄像机安装调试施工方案
- 药房活动策划方案活动流程
- 深圳市农村别墅施工方案
- 月末营销方案口号
- 陈村污水管道施工方案
- 员工活动露营活动方案策划
- 2025年税务局系统内部招聘考试经验总结与指导
- 2024学年北京昌平区初二语文(上)期中考试卷附答案解析
- 中石油盘锦分公司加油站服务营销的困境与破局之道
- 法人账户透支培训
- 2025贵州省二手房买卖合同范本
- 学堂在线 人像摄影 章节测试答案
- 2025至2030全球及中国车辆排放传感器行业发展趋势分析与未来投资战略咨询研究报告
- 直管到户管理办法
- 2025门窗买卖销售订购确认书
- DGTJ08-2310-2019 外墙外保温系统修复技术标准
- 软件开发分包管理措施
评论
0/150
提交评论