




已阅读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年广播媒体融合发展报告:新媒体环境下转型挑战与机遇
- 物业管理合同法律法规解读
- 推拿治疗学考试题库附参考答案详解【培优b卷】
- 2025版潲水回收与废弃物资源化利用项目承包合同
- 2025年度发展和改革委员会高新技术产业发展合作合同
- 2025版商品房买卖合同智能家居系统安全评估及风险防控合同
- 2025年度智能交通管理系统开发合同
- 2025年度生态旅游区土石方运输及绿化工程合同
- 2025版金融行业招投标保密协议书
- 崔允漷教授学历案:微培训课件设计
- 企业合规管理培训课件讲义
- 《资本论》讲稿课件
- 幼儿园大班美术:《线条画:花》课件
- 燃气具安装维修工(中级)教学课件完整版
- 护理品管圈QCC之提高手术物品清点规范执行率
- 高尔夫基础培训ppt课件
- 有机化学第五章 脂环烃
- 微型钢管桩专项施工方案
- 铁路货物装载加固规则
- 机械加工的常用基础英语名词术语翻译对照大全
评论
0/150
提交评论