freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

【開源項目】silverlight工作流設(shè)計器-全文預(yù)覽

2025-06-03 22:50 上一頁面

下一頁面
  

【正文】 約束性檢查包括以下部分:每個流程都必須有一個開始活動以及一個結(jié)束活動。這些約束性檢查包括以下部分: 每個流程都必須有一個開始活動以及一個結(jié)束活動。我們遍歷容器的CopyElementCollectionInMemory,對于容器中的每一個對象,設(shè)置它的位置信息,并添加到容器中即可。對于我們的系統(tǒng)來說,對 象包括規(guī)則和活動,這兩種對象支持拷貝,為了支持拷貝,我們需要給對象增加一個拷貝的方法。 支持多個選擇對象的群組移動在前面的內(nèi)容中,我們使用鼠標拖動一個對象在容器中移動,這個動作只限于一個對象(一個活動,或者一個規(guī)則),當(dāng)用戶選擇多個對象的時候,希望對這個多個對象進行同步的移動處理。對于第一種方法,在對象的MouseLeftButtonDown中編寫代碼,設(shè)置對象的IsSelected=!IsSelected,同時將對象加入到容器的CurrentSelectedControlCollection集合中。如果被選中,那么背景顏色使用區(qū)別于沒有選中的對象顏色。六 增強的用戶體驗功能 支持選擇多個對象對于選擇多個對象,我們可以參考windows中選擇多個文件的方式。支持選中的對象拷貝和粘貼(活動和規(guī)則)。支持選中的對象群組移 動。對于規(guī)則的短線設(shè)置在活動的邊緣,有兩種方式可以考慮?! ()。}}當(dāng)放開鼠標時,如果有臨時規(guī)則,那么檢查規(guī)則的結(jié)束位置是否關(guān)聯(lián)到活動,如果沒有關(guān)聯(lián)到任何活動,那么刪除這個臨時規(guī)則, 如果有關(guān)聯(lián)到其他的活動,那么取消臨時定義。public Rule CurrentTemporaryRule { get。}()。接下來來看一下為了完成以上功能需要做的工作有哪些。拖動規(guī)則的起始部分,關(guān)聯(lián)的一個活動。 五 美化 使用鼠標拖拽自動生成規(guī)則 本章內(nèi)容將給系統(tǒng)增加一個非常好的用戶體驗功能。 支持鼠標雙擊事件,不過這不影響我們使用現(xiàn)有的功能來捕獲鼠標雙擊,網(wǎng)上有一篇文章說明了其中的原理,如下:主要使用一個定時器來檢查鼠標兩次點擊之間的時間差,如果這個時間差在一個指定的范圍內(nèi),那么這兩次點擊被認為是一次鼠標雙擊事件。(end)。AddActivity(begin)。Activity end = new Activity(this)。代碼很簡單。(p2)。}else{ = 。Point p3 = new Point( + endPointRadius,  + endPointRadius)。(, )。下一章的內(nèi)容將增加一個非常優(yōu)秀的用戶體驗功能,這個功能也是受到網(wǎng)友的啟發(fā)增加的,敬請關(guān)注。}}對于規(guī)則的配置類似于上面的步驟,這里不再贅述 。 }public string Text { get。(new ActivityTypeItem(VOTE_MERGE, 投票匯聚活動))。(new ActivityTypeItem(INTERACTION, 常規(guī)交互活動))。(new ActivityTypeItem(AUTOMATION, 常規(guī)自動活動))。在后臺代碼中, 使用下面的代碼進行綁定public ActivitySetting(){InitializeComponent()。但是有一個更加強大和靈活的ComboBox控件。對于常規(guī)交互活動,顯示矩形圖形,對于分支和匯聚活動顯示菱形,對于其他活動,顯示圓形?;顒宇愋陀幸韵聨追N:常規(guī)交互活動,也就是需要人工參與的活動。也希望各位大蝦,新手多多指點。當(dāng)然這個原因不是絕對的,根據(jù)時間的推移和思路的延伸,我們還可以 找到更加合適的解決問題的方法  本文主要側(cè)重于創(chuàng)作一個應(yīng)用程序過 程中的遇到的問題以及解決問題的思路和方法(當(dāng)然也包括使用silverlight遇到的問題)。SetAngleByPoint(new Point(0, 0), new Point(15, 15))?!? 0。}public Arrowhead(){lineLeft = new Line()。double y =   。y = ( * (90  degreeRight) / )。double y = ( * (90  degreeLeft) / )。 = value。}}public void SetAnge(Point beginPoint, Point endPoint){}public Brush Stroke{get{return 。}} Line lineLeft。/// summary/// 箭頭的長度/// /summarypublic int ArrowLenght{get{return arrowLenght。這樣的過程可用下圖來表示:接下來的問題就是當(dāng)直線被拖轉(zhuǎn)進行位移和旋轉(zhuǎn)的時候,箭頭也要隨著進行相同的位移和旋轉(zhuǎn)。對于這兩種方法,都涉及到一個問題,就是根據(jù)規(guī)則在不同的位置,箭頭的方向要隨著規(guī)則的變化角度做一個改變,以適應(yīng)規(guī)則的角度。也希望各位大蝦,新手多多指點。大家從前面的內(nèi)容可以看出,本文很少直接貼代碼上來,而是主要側(cè)重于創(chuàng)作一個應(yīng)用程序過程中的遇到的問題以及解決問題的思路和方法(當(dāng)然也包括使用 silverlight遇到的問題)。對于第一種比較麻煩,對于第二種方式,系統(tǒng)中的函數(shù)已經(jīng)支持,所以采用第二種方式,就是比第一種方式存儲的xml長度大了一點。當(dāng)用戶點擊 撤銷 按鈕時,從撤銷堆棧 彈出(pop)一個xm,使用這個xml來還原流程圖,同時將這個xml壓入 前進堆棧。有c/s編程經(jīng)驗的朋友對此一定不陌生,搞b/s開發(fā)的可能不太熟悉,這里簡單實現(xiàn),并說明一下思路。使用這兩個方法就可以將流程當(dāng)前狀態(tài)轉(zhuǎn)化為xml存儲了。一個是將流程對象序列化,使用對象序列化的方法。例如流程名稱等活動和規(guī)則的屬性信息,例如活動名稱等活動和規(guī)則的位置信息活動和規(guī)則的關(guān)聯(lián)信息我們設(shè)計出一個可以完全描述上面內(nèi)容的xml文件即可,下面給出這個xml描述的一個實現(xiàn)。撤銷前進在進一步,如果將內(nèi)存保存的xml對象集合按照一定的頻率自動播放,是不是就是一個動畫了,呵呵,我們可以用這個來做一個簡單的動畫片了。 后臺代碼規(guī)則類主要實現(xiàn)主要動作(函數(shù))增加活動刪除活動增加規(guī)則刪除規(guī)則導(dǎo)入xm導(dǎo)出xm還有一些主要屬性:活動集合規(guī)則集合流程標示(ID)流程名稱(Name)好了,其實也沒有說什么,大家還是看代碼吧,因為比較倉促,有些寫得比較亂,有些也沒有注釋,以后會慢慢完善,既然是第一個版本。因此使用第二種方法進行關(guān)聯(lián),也就是在規(guī)則的 MouseLeftButtonUp事件中遍歷當(dāng)前所有的活動,檢查規(guī)則是否處于活動的范圍內(nèi),如果在,那么就進行關(guān)聯(lián)。對于第一種情況,當(dāng)拖動規(guī)則并且進入互動范圍時,無法觸發(fā)活動的MouseEnter事件。當(dāng)拖動中間線段時,整個規(guī)則圖形(包括起始端點,中間線段,終結(jié)端點)隨著鼠標移動而移 動。圖形顯示如下:一個為終結(jié)活動(終結(jié)端點關(guān)聯(lián))規(guī)則的起始活動和終結(jié)活動不能為同一個活動。在xaml文件中布局用戶界面。操作很簡單, 2008中增加一個新的 silverlight user c  三、類的設(shè)計在進行類設(shè)計之前,先說一下silverlight中使用怎么表示上面描述的類。對客戶而言,這是一個b/s架構(gòu)的程序,而對于程序員來說,其實是c/s 架構(gòu)的。,您的每一次請求都將實例化一個Page類的對象,你在服務(wù)器代碼中的C代碼的各種變量都將被重新初始化。支持活動和規(guī)則的刪除:支持刪除活動實例和規(guī)則實例,刪除活動實例時,同時刪除關(guān)聯(lián)的規(guī)則實例。拖拽結(jié)尾部分時,直線的開頭部分隨鼠標變化位置,但結(jié)束部分位置不改變。系統(tǒng)對象確定以后,再來看一下系統(tǒng)功能描述:新增活動:創(chuàng)建一個活動的實例,并將這個實例添加到設(shè)計面板中。二、系統(tǒng)設(shè)計 從上面的圖形來看,我們的系統(tǒng)將包含三個大的對象: 活動(activity):如上圖中的 方框圖(三角圖,圓形圖) 對應(yīng)的對象,這個對象代表工作流中的一個活動。具體來說,這樣的流程設(shè)計器應(yīng)該具有以下的特點:圖形化的方式顯示流程支持拖拽創(chuàng)建和修改流程導(dǎo)出圖形對應(yīng)的xml描述文件根據(jù)流程xml描述文件顯示流程圖注意:本文只將焦點放置在圖形的描述上,不涉及流程的各種屬性,不過您完全可以在此基礎(chǔ)上創(chuàng)建一個包含流程屬性設(shè)置的應(yīng)用程序。在進入正文之前,先說一下開發(fā)環(huán)境的配置。于是決定使 用它來實現(xiàn)一個流程設(shè)計工具,以替代以前的流程設(shè)計器(原來是用vml實現(xiàn),只能在IE瀏覽器上工作),因為第一次接觸silverlight,在學(xué)習(xí)、 工作的過程中肯定會遇到很多的問題  前言Silverlight發(fā)布已經(jīng)很久了,具體是什么就不多說,大家一定很清楚。導(dǎo)出圖形對應(yīng)的xml描述文件圖形化的方式顯示流程 具體來說,這樣的流程設(shè)計器應(yīng)該具有以下的特點: 圖形化的方式顯示 流程 支持拖拽創(chuàng)建和修改流程 導(dǎo)出圖形對應(yīng)的xml描述文件 根據(jù)流程xml描述文件   最關(guān)心的就是其中的跨瀏覽器能力,以及強大的用戶界面表現(xiàn)能力。系統(tǒng)范圍系統(tǒng)設(shè)計類設(shè)計Xml設(shè)計美化重構(gòu)一、系統(tǒng)范圍在開始之前,先來看一下系統(tǒng)將要完成什么樣的功能。下面的圖形具體的顯示了系統(tǒng)將要完成的功能:設(shè)計面板:設(shè)計面板是流程圖的容器對象。拖拽開頭部分時,直線的開頭部分隨鼠標變化位置,但結(jié)尾部分位置不改變。拖拽活動實例:活動實例可以被鼠標拖拽,如果這個活動有相關(guān)聯(lián)的規(guī)則,那么規(guī)則位置也隨鼠標變化。代碼是需要您的web服 務(wù)器執(zhí)行的(IIS)后,將執(zhí)行后的html代碼發(fā)送到客戶端的瀏覽器,而silverlight中的c代碼卻是在客戶端的瀏覽器中運行的。這樣使用c/s編程方式編寫一個 流程設(shè)計器,通過silverlight技術(shù),最終可以通過瀏覽器來給客戶使用。在silverlight可以使用 用戶控件( silverlight user contro)來描述各種具有用戶界面的類,如上文所講的活動類,規(guī)則類。其實是一個xaml文件。一個規(guī)則可以關(guān)聯(lián)到兩個不同的活動,一個為起始活動(起始端點關(guān)聯(lián))。 Xam下面的代碼表示了活動類的外觀UserControx:Class= xmlns= xmlns:x= MouseLeftButtonDown=UserContro_MouseLeftButtonDown MouseLeftButtonUp=UserContro_MouseLeftButtonUp MouseMove=UserContro_MouseMove MouseEnter=UserContro_MouseEnter MouseLeave=UserContro_MouseLeave Width=100 Height=60  Canvas Name=container      Rectangle  HorizontalAlignment=Stretch  VerticalAlignment=Stretch Fil=Green /  Border  CornerRadius=10   Background=Green Opacity= Width=100 Height=60   TextBox Name=Title Text=新建活動 BorderBrush=Green FontSize=12  Background=Green  Height=30   Width=60 MouseEnter=TextBox_MouseEnter /TextBox  /Border  HyperlinkButton =10000  Padding=10 5 5 5 MouseLeave=HyperlinkButton_MouseLeave  Foreground=Red Width=65 Height=25  =50 =100 Background=Yellow Name=btnDelete  Click=HyperlinkButton_Click ClickMode=Release Content=刪除活動 /HyperlinkButton /Canvas/UserContro從上面代碼可以看出,活動類主要包含一個矩形的圖形,還有一個刪除按鈕。拖動終結(jié)端點類似于拖動起始端點。(活動的MouseEnter事件)拖動規(guī)則結(jié)束后,放開鼠標。但是這樣做會存在某些特定的bug)。包含以下部分:設(shè)計一個流程圖的xml描述文件將流程圖導(dǎo)出為xm根據(jù)xml文件呈現(xiàn)流程圖在完成以上內(nèi)容后,進一步深入思考,既然可以將流程的當(dāng)前狀態(tài)保存為xm,那么在每次流程改變的時候?qū)?dāng)前狀態(tài)保存到內(nèi)存中,在需要的時候再從內(nèi)存中還原,就可以實現(xiàn)word里面的 撤銷 與 前進 的功能了,所以功能就加多了兩個。Xml文件用來描述流程的,在本文中,流程的布局信息主要有幾個方面:流程的屬性信息。(這里就先不這么做了,而直接使用LINQ To Xml來操作上面的xml文件)如果您不了解xml相關(guān)的一些技術(shù),可以參考://(中文版) 導(dǎo)入、導(dǎo)出有幾個生成xml的方法。ToXmlString()LoadFromXmlString(string x
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1