基于silverlight一个“树形结构图”控件

传统的树形菜单只适用于展示,本控件提供了一个可视化的组织图展示,并实现了一个对树形图的CRUD拖拽操作,可用于OA的人员维护或是部门关系图。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、江苏网站维护、网站推广。

1. 使用此控件只需要定义根节点的模板:

  
 
 
 
  1.  
  2.              
  3.                  
  4.                      
  5.                          
  6.                              
  7.                                  
  8.                                      
  9.                                      
  10.                                  
  11.                                  
  12.                                      
  13.                                                                   
  14.                                      
  15.  
  16.                                      
  17.                                          
  18.                                              
  19.                                                  
  20.                                              
  21.                                          
  22.                                          
  23.                                              
  24.                                                  
  25.                                              
  26.                                          
  27.                                      
  28.  
  29.                                  
  30.  
  31.                              
  32.                          
  33.                      
  34.                  
  35.              
  36.          

2. 然后绑定数据源

  
 
 
 
  1. Branch branch = new Branch();  
  2.             branch.Name = "财务部";   
  3.             branch.Embranchment = new ObservableCollection()  
  4.             {  
  5.                 new Branch(){Name="财务部1"},  
  6.                 new Branch(){Name="财务部2"},  
  7.                 new Branch(){Name="财务部3"}  
  8.             };  
  9.                
  10.             branch.AppendBranch += new Action(branch_AppendBranch);  
  11.             this.unAllocateBranchNode.Branch = branch; 

3. 核心使用了通用的推拽原型

  
 
 
 
  1. private void BindDragEvent()  
  2.         {  
  3.             bool isDragging = false;  
  4.             Point lastPosition = new Point(0, 0);  
  5.  
  6.             Popup rootPopup = new Popup();  
  7.             BranchNode ghostContainer = null;  
  8.             Branch parentBranch = null;  
  9.             Border lastTitlePanel = null;  
  10.             ...  
  11.             this.titlePanel.MouseLeftButtonDown += (source, eventArgs) => 
  12.             {  
  13.                 this.IsHitTestVisible = false;  
  14.  
  15.                 isDragging = true;  
  16.                 lastPosition = eventArgs.GetPosition(null);  
  17.                 ...  
  18.                 ghostContainer.MouseLeftButtonUp += (s, e) => 
  19.                 {     
  20.                     rootPopup.Child = null;  
  21.                     ...  
  22.                     isDragging = false;  
  23.                     this.ReleaseMouseCapture();  
  24.                     this.IsHitTestVisible = true;  
  25.                 };  
  26.  
  27.                 ghostContainer.MouseMove += (s, e) => 
  28.                 {  
  29.                     if (!isDragging)  
  30.                         return;  
  31.  
  32.                     ...  
  33.                     MatrixTransform mt = new MatrixTransform();  
  34.                     mt.Matrix = rt.Value;  
  35.  
  36.                     ghostContainer.RenderTransform = mt;  
  37.  
  38.                 };  
  39.             };  
  40.         } 

4. 源代码下载: https://199.47.216.171/u/10032723/EasyOA.rar

5. 预览

http://rapidsl2.guozili.25u.com/  (admin/admin  点左边菜单 控件展示 - 组织树形图)

 

本文标题:基于silverlight一个“树形结构图”控件
URL链接:http://www.shufengxianlan.com/qtweb/news7/237357.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联