[Develop]Lab13-DesignActivity 1/2

[Develop]Lab13-DesignActivity 1/2

Lab13、DesignActivity

在工作流程開發中,除了使用既有的 [ Activity ] 外,我們也可以自訂我們自己設計的 [ Activity ] ,供給有需要的人或是應用程式使用。這個習慣在過去程式開發上就常

常會用到;例如我們會將經常被使用的一些程式編寫成 Fouction 或是 類別,主要都是要減少重覆性質的開發與維護上的成本。相對的,在一個工作環境中,我們也可以

把常常會重複用到的一些邏輯寫成 [ Activity ],讓其它工程師可以直接使用已經寫好的元件。這樣是不是還滿有彈性的 ?


新增一個新的WWF專案。

這個範例中我們要使用的是 [ 空白工作流程專案 ] 。檔案名稱我們命名為 [ Lab13_DesignActivity ] 。

clip_image001

在這個空白的專案裡面我們加入了一個新的項目,[ 活動 ]。

clip_image002

我們在工作區塊可以看到這樣的一個畫面,這就是我們自訂的活動元件主要工作區塊,接著我們按下滑鼠右鍵來到 [ 程式碼檢視 ]。

clip_image003

clip_image004

我們宣告一個 private 的變數 _RequestMessage,還有存取這個變數的方法。這個變數回成為這個活動元件( Activity
)的屬性,外部應用程式

必須透過屬性來取得或是修改這個變數內容。

clip_image005

我們在 [ MyActivity1 ]裡面新增一個 [ CodeActivity1 ],然後點兩下 [ CodeActivity1 ] 進到程式碼編輯視窗。我們宣告如下列的程式。

clip_image006

clip_image007

設定完成~建置檔案。

clip_image008


加入一個新的WWF專案。

接著我們再新增一個 [ 循序工作流程主控台應用程式 ] 專案,檔案名稱命名為 [ Lab13_Call_DesignActivity ]。

clip_image009

clip_image010

在新的的專案裡,我們可以看到工具箱裡面多了一個 [ MyActivity ]。這是我們剛剛自訂出來的活動。接著我們將他拉到主要的工作區域中間,

你會發現這個元件被加上的鎖。在這個專案中你只能使用這個元件而不可以修改他,若要修改這個元件,必須要回到原始專案才可以修改。

clip_image011

clip_image012

接著我們點選這個元件,看到屬性區域的部份。可以看到有一個屬性叫做 [ RequestMessage ],這是我們剛剛在自定活動中所宣告。

clip_image013

我們將其隨便輸入一個訊息。

clip_image014


測試。

設定完成我們來測試成果。你會看到跳出了一個訊息。"這是自定的Activity 這是輸入的訊息" ,

"這是自定的Activity " 這邊的訊息是我們自己在自訂元件的部份宣告出來的。

" 這是輸入的訊息" 這邊的訊息是我們在新的WWF 專案中在屬性的地方加入的。

clip_image015


另一種訊息輸入方式。

訊息也是可以用程式撰寫的方式來呼叫他,我們在[ Lab13_Call_DesignActivity ] 裡面的 [ 循序工作流程 ] 面板再拉出一個
[ CodeActivity ]元件。點 [ CodeActivity ]兩下

後進到程式編輯視窗,然後輸入右邊的程式碼 [ myActivity11.RequestMessage = "也可以用程式輸入訊息";
]。

clip_image016

clip_image017

輸入完成後我們執行這個專案~這樣我們就傳送值給我們自定的元件了!!

clip_image018