資源描述:
《開(kāi)源項(xiàng)目Silverlight工作流設(shè)計(jì)器》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、【開(kāi)源項(xiàng)目】Silverlight工作流設(shè)計(jì)器Silverlight工作流設(shè)計(jì)器是一款開(kāi)源項(xiàng)目,支持用戶(hù)在線(xiàn)設(shè)計(jì)工作流程,或者項(xiàng)目流程,支持在線(xiàn)拖拽,以及鼠標(biāo)右鍵支持。具體來(lái)說(shuō),這樣的流程設(shè)計(jì)器應(yīng)該具有以下的特點(diǎn):圖形化的方式顯示流程支持拖拽創(chuàng)建和修改流程導(dǎo)出圖形對(duì)應(yīng)的xml描述文件根據(jù)流程xml描述文件 ??Silverlight工作流設(shè)計(jì)器是一款開(kāi)源項(xiàng)目,支持用戶(hù)在線(xiàn)設(shè)計(jì)工作流程,或者項(xiàng)目流程,支持在線(xiàn)拖拽,以及鼠標(biāo)右鍵支持。具體來(lái)說(shuō),這樣的流程設(shè)計(jì)器應(yīng)該具有以下的特點(diǎn):·?圖形化的方式顯示流程·?支持拖拽創(chuàng)建和修改流程·
2、?導(dǎo)出圖形對(duì)應(yīng)的xml描述文件·?根據(jù)流程xml描述文件顯示流程圖點(diǎn)擊訪(fǎng)問(wèn)本系列專(zhuān)題文章源代碼下載數(shù)據(jù)庫(kù)下載Silverlight構(gòu)建圖形化工作流程設(shè)計(jì)器(一)前言Silverlight發(fā)布已經(jīng)很久了,具體是什么就不多說(shuō),大家一定很清楚。最關(guān)心的就是其中的跨瀏覽器能力,以及強(qiáng)大的用戶(hù)界面表現(xiàn)能力。于是決定使用它來(lái)實(shí)現(xiàn)一個(gè)流程設(shè)計(jì)工具,以替代以前的流程設(shè)計(jì)器(原來(lái)是用vml實(shí)現(xiàn),只能在IE瀏覽器上工作),因?yàn)榈谝淮谓佑|silverlight,在學(xué)習(xí)、工作的過(guò)程中肯定會(huì)遇到很多的問(wèn)題 前言Silverlight發(fā)布已經(jīng)很久了,具體
3、是什么就不多說(shuō),大家一定很清楚。最關(guān)心的就是其中的跨瀏覽器能力,以及強(qiáng)大的用戶(hù)界面表現(xiàn)能力。于是決定使用它來(lái)實(shí)現(xiàn)一個(gè)流程設(shè)計(jì)工具,以替代以前的流程設(shè)計(jì)器(原來(lái)是用vml實(shí)現(xiàn),只能在IE瀏覽器上工作),因?yàn)榈谝淮谓佑|silverlight,在學(xué)習(xí)、工作的過(guò)程中肯定會(huì)遇到很多的問(wèn)題,將這個(gè)學(xué)習(xí)新知識(shí)、解決問(wèn)題的過(guò)程記錄下來(lái),肯定能找到許多志同道合的朋友,也請(qǐng)大家抱著這種態(tài)度閱讀本文。本文主要講述使用vs.net2008開(kāi)發(fā)一個(gè)基于silverlight的流程設(shè)計(jì)器。在進(jìn)入正文之前,先說(shuō)一下開(kāi)發(fā)環(huán)境的配置。使用vs.net2008作為
4、開(kāi)發(fā)工具,需要下載一個(gè)Silverlighttoolsforvirsualstudio2008sp1,地址在http://silverlight.net/GetStarted/,安裝后就可以使用vs.net2008來(lái)開(kāi)發(fā)silverlight應(yīng)用了。本系列文章包含以下幾部分(可能有變)。系統(tǒng)范圍系統(tǒng)設(shè)計(jì)類(lèi)設(shè)計(jì)Xml設(shè)計(jì)美化重構(gòu)一、系統(tǒng)范圍在開(kāi)始之前,先來(lái)看一下系統(tǒng)將要完成什么樣的功能。具體來(lái)說(shuō),這樣的流程設(shè)計(jì)器應(yīng)該具有以下的特點(diǎn):圖形化的方式顯示流程支持拖拽創(chuàng)建和修改流程導(dǎo)出圖形對(duì)應(yīng)的xml描述文件根據(jù)流程xml描述文件顯示流程
5、圖注意:本文只將焦點(diǎn)放置在圖形的描述上,不涉及流程的各種屬性,不過(guò)您完全可以在此基礎(chǔ)上創(chuàng)建一個(gè)包含流程屬性設(shè)置的應(yīng)用程序。另外,本文是隨著程序的編寫(xiě)進(jìn)度而撰寫(xiě)的,程序在不斷的完善,本文也將不斷的修改完善。在這個(gè)過(guò)程中將隨時(shí)提供可以運(yùn)行的程序供下載。下面的圖形具體的顯示了系統(tǒng)將要完成的功能:?二、系統(tǒng)設(shè)計(jì)從上面的圖形來(lái)看,我們的系統(tǒng)將包含三個(gè)大的對(duì)象:活動(dòng)(activity):如上圖中的方框圖(三角圖,圓形圖)對(duì)應(yīng)的對(duì)象,這個(gè)對(duì)象代表工作流中的一個(gè)活動(dòng)。規(guī)則(rule):如上圖中的帶箭頭的直線(xiàn), 二、系統(tǒng)設(shè)計(jì)從上面的圖形來(lái)看,我
6、們的系統(tǒng)將包含三個(gè)大的對(duì)象:活動(dòng)(activity):如上圖中的方框圖(三角圖,圓形圖)對(duì)應(yīng)的對(duì)象,這個(gè)對(duì)象代表工作流中的一個(gè)活動(dòng)。規(guī)則(rule):如上圖中的帶箭頭的直線(xiàn),這個(gè)對(duì)象代表了工作流中的規(guī)則。設(shè)計(jì)面板:設(shè)計(jì)面板是流程圖的容器對(duì)象。系統(tǒng)對(duì)象確定以后,再來(lái)看一下系統(tǒng)功能描述:新增活動(dòng):創(chuàng)建一個(gè)活動(dòng)的實(shí)例,并將這個(gè)實(shí)例添加到設(shè)計(jì)面板中。新增規(guī)則:創(chuàng)建一個(gè)規(guī)則的實(shí)例,并將這個(gè)實(shí)例添加到設(shè)計(jì)面板中。拖拽規(guī)則實(shí)例:規(guī)則實(shí)例可以被鼠標(biāo)拖拽,規(guī)則實(shí)例表現(xiàn)為一個(gè)帶箭頭的直線(xiàn),可以拖拽直線(xiàn)的開(kāi)頭部分,也可以拖拽直線(xiàn)的結(jié)尾部分,或者拖拽直
7、線(xiàn)中間的部分。拖拽開(kāi)頭部分時(shí),直線(xiàn)的開(kāi)頭部分隨鼠標(biāo)變化位置,但結(jié)尾部分位置不改變。拖拽結(jié)尾部分時(shí),直線(xiàn)的開(kāi)頭部分隨鼠標(biāo)變化位置,但結(jié)束部分位置不改變。拖拽中間部分,整條直線(xiàn)隨鼠標(biāo)改變位置。在拖拽開(kāi)頭或者結(jié)尾部分,并在某一個(gè)活動(dòng)實(shí)例上放開(kāi)鼠標(biāo)左鍵,那么將建立活動(dòng)和規(guī)則的關(guān)聯(lián)關(guān)系。拖拽活動(dòng)實(shí)例:活動(dòng)實(shí)例可以被鼠標(biāo)拖拽,如果這個(gè)活動(dòng)有相關(guān)聯(lián)的規(guī)則,那么規(guī)則位置也隨鼠標(biāo)變化。支持活動(dòng)和規(guī)則的刪除:支持刪除活動(dòng)實(shí)例和規(guī)則實(shí)例,刪除活動(dòng)實(shí)例時(shí),同時(shí)刪除關(guān)聯(lián)的規(guī)則實(shí)例。根據(jù)圖形導(dǎo)出xml文件:導(dǎo)入xml文件生成圖形:通過(guò)上面的分析,對(duì)流程設(shè)計(jì)
8、器有一個(gè)大概的了解,在進(jìn)入具體的類(lèi)設(shè)計(jì)之前還是有幾點(diǎn)需要提醒的:silverlight和asp.net的運(yùn)行模型的不同和編制程序時(shí)的注意點(diǎn)。Silverlight和asp.net都可以使用c#進(jìn)行編程設(shè)計(jì),但他們的運(yùn)行方式卻截然不同。Asp.net中的c#代碼是