<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      .net快速開發平臺

      工作流+智能表單
      幫助企業快速應對變化
      使用silverlight構建一個圖形化流程設計器(二)(附源代碼下載及在線演示)
       

      接著之前的內容,在開始之前有幾點說明:

      1、我無法使用博客圓的上傳圖片功能,因此許多圖片就省略了。

      2、代碼下載:http://www.shareidea.net/opensource.htm

      3、在線演示:http://www.shareidea.net/workflow.htm

       

      技術支持QQ群:85444465

      本文系列索引:

      使用silverlight構建一個工作流設計器(一)

      使用silverlight構建一個工作流設計器(二)

      使用silverlight構建一個工作流設計器(三)

      使用silverlight構建一個工作流設計器(四)

      使用silverlight構建一個工作流設計器(五)

       使用silverlight構建一個工作流設計器(六)

      使用silverlight構建一個工作流設計器(七)

      使用silverlight構建一個工作流設計器(八)

       使用silverlight構建一個工作流設計器(九)

      使用silverlight構建一個工作流設計器(十)  

      使用silverlight構建一個工作流設計器(十一)  

      三、類的設計

       

      在進行類設計之前,先說一下silverlight中使用怎么表示上面描述的類。在silverlight可以使用 用戶控件( silverlight user control)來描述各種具有用戶界面的類,如上文所講的活動類,規則類。操作很簡單,在vs.net 2008中增加一個新的 silverlight user control 就可以了。其實是一個xaml文件。在xaml文件中布局用戶界面,在對應的xaml.cs文件中編寫后臺方法即可。 

       

      需要說一下的是,在進行鼠標拖動活動或者規則移動時,規則和活動的動態定位使用的是相對于容器來的相對位置,也就是使用Canvas.TopCanvas.Left屬性進行定位。

        

      還有一點需要說明的就是,對于活動和規則的關聯有幾點需要注意。

      l         一個規則可以關聯到兩個不同的活動,一個為起始活動(起始端點關聯)。一個為終結活動(終結端點關聯)

      l         規則的起始活動和終結活動不能為同一個活動。

      l         任何兩個規則,他們的起始活動和終結活動不能相同,也就是說在不同的兩個活動之間,不能有重復的規則關聯。

       

      3.1 活動類的設計(Activity)

       

      活動代表工作流中的一個活動節點,在流程圖上表現為一個方框圖,可以被拖拽,可以關聯到一個規則的開始或者結束。

      3.1.1 Xaml

      下面的代碼表示了活動類的外觀

       

      Code

       

      從上面代碼可以看出,活動類主要包含一個矩形的圖形,還有一個刪除按鈕。圖形顯示如下:

       

      3.12 后臺代碼

      活動類主要實現主要動作(函數)

      l         鼠標拖拽

      l         刪除

      l         關聯到規則(增加,刪除)

      l         輸出活動xml描述

      l         導入xml描述

      還有一些主要屬性:

      l         活動標示(ID)

      l         活動名稱(Name)

      l         所有關聯的規則的集合

      以及一些主要的事件:

      l         移動

      l         刪除 

      具體代碼不再貼出,大家可以下載源代碼運行。

      3.2 規則類的設計

       

      規則類的實現比較有意思,主要是它的拖拽方式和活動類的拖拽方式不一樣。對于活動類,拖動方式為整個活動隨著鼠標進行移動。而對于規則類卻不是這樣。下面的圖形表示了一規則類的外觀。

      一個規則從圖形上被分成三個部分,起始端點(白色),中間線段,終結端點(黑色)(在實際環境中,應該整體表現為一個帶箭頭的線段,為了便于描述,先這樣表示,在后面的美化部分將作修改)。這三個部分都可以被鼠標拖動,當拖動起始端點時,起始端點隨著鼠標變化而變化位置,終結端點不動,中間線段根據起始端點和終結端點計算位置。拖動終結端點類似于拖動起始端點。當拖動中間線段時,整個規則圖形(包括起始端點,中間線段,終結端點)隨著鼠標移動而移動。

       

      另外一個需要仔細考慮的是,當拖動規則,并且將端點移動到活動上時,進行規則和活動關聯的時機。有以下幾個時機可以考慮:

      l         拖動規則進入活動范圍。(活動的MouseEnter事件)

      l         拖動規則結束后,放開鼠標。

       

      對于第一種情況,當拖動規則并且進入互動范圍時,無法觸發活動的MouseEnter事件。暫時無法解決。(但是在放開鼠標,并且在活動上移動時,此時觸發MouseEnter事件。但是這樣做會存在某些特定的bug)。因此使用第二種方法進行關聯,也就是在規則的MouseLeftButtonUp事件中遍歷當前所有的活動,檢查規則是否處于活動的范圍內,如果在,那么就進行關聯。

      3.2.1 xaml

      下面的代碼描述了規則類的xaml

       

      Code

       

      3.2.2 后臺代碼

      規則類主要實現主要動作(函數)

      l         鼠標拖拽

      l         刪除

      l         關聯到活動(增加,刪除)

      l         輸出規則xml描述

      l         導入xml描述

      還有一些主要屬性:

      l         規則標示(ID)

      l         規則名稱(Name)

      l         起始活動

      l         結束活動

      以及一些主要的事件:

      l         移動

      l         刪除 

      3.3 容器類的設計

       

      容器類主要功能就是用來提供一個設計面板,可以增加,刪除工作流元素(活動,規則),導入xml和導出xml。

      3.3.1 xaml

      下面的容器的xaml代碼

      Code

       

      下圖是容器的外觀 

       

      3.3.2 后臺代碼

      規則類主要實現主要動作(函數)

      l         增加活動

      l         刪除活動

      l         增加規則

      l         刪除規則

      l         導入xml

      l         導出xml

      還有一些主要屬性:

      l         活動集合

      l         規則集合

      l         流程標示(ID)

      l         流程名稱(Name) 

      好了,其實也沒有說什么,大家還是看代碼吧,因為比較倉促,有些寫得比較亂,有些也沒有注釋,以后會慢慢完善,既然是第一個版本,就叫做workflowDesigner.SL 0.1版吧。 

      下面的章節進入導出xml及根據xml文件生成流程圖,并且會討論一些更有意思的話題。

       

      posted on 2009-04-24 00:12  chegan  閱讀(8583)  評論(6)    收藏  舉報

      主站蜘蛛池模板: 久久精品日日躁夜夜躁| 人妻一区二区三区人妻黄色| 国产91丝袜在线观看| 亚洲男人av天堂久久资源| 国产在线啪| 在线观看人成视频免费| 国产亚洲精品久久久网站好莱| 国产三级国产精品国产专| 无码免费中文字幕视频| 亚洲精品亚洲人成人网| 久久蜜臀av一区三区| 国产日韩成人内射视频| 国产老熟女无套内射不卡| 高潮潮喷奶水飞溅视频无码| 柳州市| 蜜臀av一区二区三区在线| 性欧美vr高清极品| 鸡东县| 亚洲中文字幕日产无码成人片| 四虎库影成人在线播放| 伊人久久精品无码麻豆一区| 朝鲜女子内射杂交bbw| 99热这里有精品| 精品国产一区二区三区久| 松阳县| 2019亚洲午夜无码天堂| 国产中文99视频在线观看| 樱花草视频www日本韩国| 亚洲欧美在线一区中文字幕| 精品黑人一区二区三区| 精品国产亚洲一区二区三区| 国产不卡在线一区二区| 国产在线亚州精品内射| 精品久久精品久久精品久久| 69精品丰满人妻无码视频a片| 精品少妇人妻av无码专区| 万安县| 国内精品无码一区二区三区| 精品无码一区二区三区电影| 欧洲熟妇色xxxxx欧美| 成人精品一区日本无码网|