最新源代碼下載:http://www.shareidea.net/opensource.htm
最新版本在線演示:http://www.shareidea.net/workflow.htm
本文主要側重於創作一個應用程序過程中的遇到的問題以及解決問題的思路和方法(當然也包括使用silverlight遇到的問題)。並且說明解決一個問題的多個方法之間的取捨原因。當然這個原因不是絕對的,根據時間的推移和思路的延伸,我們還可以找到更加合適的解決問題的方法。
在這個學習silverlight的過程中,希望和大家分享一下學習的心得,關於silverlight的,關於系統設計都有,只要使我覺得比較新鮮有趣的。也希望各位大蝦,新手多多指點。
五 美化
5.2活動根據不同的活動類型顯示不同的形狀
要是活動根據不同的類型顯示不同的形狀,我們也有幾種方法:
根據類型不同,定義不同的圖形顯示
根據類型不同,對現有的活動圖形進行剪裁處理。
第一種方法會給我們已有的類造成比較大的修改,因為涉及到圖形在移動時候需要對關聯的規則類進行動態定位的問題。使用第二種方法去沒有這個問題,只需要動體的對活動類進行剪裁處理就可以了。
活動類型有以下幾種:
常規交互活動,也就是需要人工參與的活動。
自動活動,沒有人工參與的活動,後台自動完成。
分支活動,包括與分支、或分支
匯聚活動,包括與匯聚,或匯聚,投票匯聚。
起始與終結活動
當我們給活動指定不同的類型時,希望顯示不同的活動形狀。對於常規交互活動,顯示矩形圖形,對於分支和匯聚活動顯示菱形,對於其他活動,顯示圓形。
矩形和圓形分別用EllipseGeometry和RectangleGeometry類進行裁減就可以了,對於菱形,需要使用PathGeometry類進行裁減,這個類的使用有點復雜,需要定義多個轉折點。然後這些點圍成一個菱形。