成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于silverlight一個“樹形結構圖”控件

開發 后端
傳統的樹形菜單只適用于展示,本控件提供了一個可視化的組織圖展示,并實現了一個對樹形圖的CRUD拖拽操作,可用于OA的人員維護或是部門關系圖。

傳統的樹形菜單只適用于展示,本控件提供了一個可視化的組織圖展示,并實現了一個對樹形圖的CRUD拖拽操作,可用于OA的人員維護或是部門關系圖。

1. 使用此控件只需要定義根節點的模板:

  1. <localControls:BranchNode Grid.Column="0" x:Name="unAllocateBranchNode" Margin="30"> 
  2.             <localControls:BranchNode.Template> 
  3.                 <ControlTemplate TargetType="localControls:BranchNode"> 
  4.                     <Grid x:Name="rootPanel" VerticalAlignment="Top" Height="{TemplateBinding Height}"> 
  5.                         <StackPanel Orientation="Vertical" HorizontalAlignment="Stretch" DataContext="{TemplateBinding Branch}"> 
  6.                             <Border x:Name="titlePanel" HorizontalAlignment="Stretch"  Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3" BorderThickness="1"> 
  7.                                 <Border.Resources> 
  8.                                     <SolidColorBrush x:Key="normalBorder" Color="#9fa8b7"/> 
  9.                                     <SolidColorBrush x:Key="hightlightBorder" Color="Red"/> 
  10.                                 </Border.Resources> 
  11.                                 <StackPanel> 
  12.                                     <StackPanel Orientation="Horizontal"> 
  13.                                         <ContentPresenter Content="{Binding Name}" VerticalAlignment="Center" Margin="5"/>                          
  14.                                     </StackPanel> 
  15.  
  16.                                     <ItemsControl ItemsSource="{Binding Embranchment}"> 
  17.                                         <ItemsControl.ItemsPanel> 
  18.                                             <ItemsPanelTemplate> 
  19.                                                 <StackPanel/> 
  20.                                             </ItemsPanelTemplate> 
  21.                                         </ItemsControl.ItemsPanel> 
  22.                                         <ItemsControl.ItemTemplate> 
  23.                                             <DataTemplate> 
  24.                                                 <localControls:BranchNode Branch="{Binding}" Margin="3"/> 
  25.                                             </DataTemplate> 
  26.                                         </ItemsControl.ItemTemplate> 
  27.                                     </ItemsControl> 
  28.  
  29.                                 </StackPanel> 
  30.  
  31.                             </Border> 
  32.                         </StackPanel> 
  33.                     </Grid> 
  34.                 </ControlTemplate> 
  35.             </localControls:BranchNode.Template> 
  36.         </localControls:BranchNode> 

2. 然后綁定數據源

  1. Branch branch = new Branch();  
  2.             branch.Name = "財務部";   
  3.             branch.Embranchment = new ObservableCollection<Branch>()  
  4.             {  
  5.                 new Branch(){Name="財務部1"},  
  6.                 new Branch(){Name="財務部2"},  
  7.                 new Branch(){Name="財務部3"}  
  8.             };  
  9.                
  10.             branch.AppendBranch += new Action<Branch>(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  點左邊菜單 控件展示 - 組織樹形圖)

 

 

原文鏈接:http://www.cnblogs.com/guozili/archive/2012/07/08/2581422.html

責任編輯:張偉 來源: guozili的博客
相關推薦

2012-02-02 16:37:51

Silverlight常用控件

2020-05-06 15:59:07

JavaScript程序員技術

2020-05-09 11:20:02

Java結構圖虛擬機

2022-08-04 13:58:54

SeabornFacetGrid代碼

2011-07-05 08:56:43

JavaScript

2009-03-05 11:40:31

ListBox開發Silverlight

2009-12-30 13:30:16

Silverlight

2015-01-08 09:37:54

數據中心結構圖機房結構圖

2009-08-19 14:15:42

C# 復合控件

2010-07-05 12:37:29

用Visio畫UML圖

2012-03-13 14:06:39

JavaJ2EE

2009-04-13 10:52:59

網絡拓撲摩卡網絡

2009-12-30 13:51:43

Silverlight

2010-01-04 14:49:30

Silverlight

2010-08-06 11:14:35

SilverlightWindows PhoWindows Pho

2009-09-27 13:57:19

Hibernate樹形

2010-07-05 15:01:21

UML靜態結構圖

2010-07-05 14:48:25

UML靜態結構圖

2009-12-30 16:43:47

Silverlight

2009-08-14 10:14:07

Silverlight
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: h视频免费在线观看 | 欧美激情视频一区二区三区在线播放 | 亚洲精品一区二区在线观看 | 国产精品国产a级 | 天天艹 | 成人精品视频在线观看 | 日韩无| 超碰在线人人 | 九九精品久久久 | 久久久久久久一区 | 久久99蜜桃综合影院免费观看 | 请别相信他免费喜剧电影在线观看 | 国产一级视频在线 | 俺去俺来也www色官网cms | 亚洲激精日韩激精欧美精品 | 91久久国产综合久久 | 在线观看成人精品 | 成人精品毛片 | 国产99久久精品一区二区永久免费 | 久久久精品国产 | 亚洲精品字幕 | 日韩不卡一区二区 | 日韩久久精品视频 | 国产精品自产av一区二区三区 | 国产精品99久久久久久www | 欧美精品一区二区三区在线 | 视频三区 | 91av视频 | 伊色综合久久之综合久久 | 电影在线 | 黄色网址免费在线观看 | 亚洲精品久久久9婷婷中文字幕 | 黄色网络在线观看 | 成人在线精品视频 | av一区二区三区在线观看 | 国产99精品 | www.色.com| 夜久久 | 99久久99热这里只有精品 | 91精品国产色综合久久 | 一区二区三区国产精品 |