程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 使用silverlight構建一個圖形化流程設計器(二)

使用silverlight構建一個圖形化流程設計器(二)

編輯:關於ASP.NET

本文配套源碼

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

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

2、代碼放在codeplex上(http://workflowdesigner.codeplex.com/),如果您有興趣的話,歡迎加入一起開發。   

3、在線演示:http://219.153.66.61/wf

三、類的設計

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

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

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

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

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

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

3.1 活動類的設計(Activity)

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

3.1.1 Xam

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

1<UserControx:Class="Shareidea.Web.UI.Contro.Workflow.Designer.Activity"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xam/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xam"
4 MouseLeftButtonDown="UserContro_MouseLeftButtonDown"
5 MouseLeftButtonUp="UserContro_MouseLeftButtonUp"
6 MouseMove="UserContro_MouseMove"
7 MouseEnter="UserContro_MouseEnter"
8 MouseLeave="UserContro_MouseLeave"
9 Width="100" Height="60" >
10 <Canvas Name="container"    >
11  <Rectangle  HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" Fil="Green" />
12  <Border  CornerRadius="10"   Background="Green" Opacity="0.9" Width="100" Height="60" >
13  <TextBox Name="Title" Text="新建活動" BorderBrush="Green" FontSize="12"  Background="Green"
14  Height="30"   Width="60" MouseEnter="TextBox_MouseEnter" ></TextBox>
15  </Border>
16  <HyperlinkButton Canvas.ZIndex="10000"  Padding="10 5 5 5" MouseLeave="HyperlinkButton_MouseLeave"  Foreground="Red" Width="65" Height="25"  Canvas.Top="50" Canvas.Left="100" Background="Yellow" Name="btnDelete"  Click="HyperlinkButton_Click" ClickMode="Release" Content="刪除活動" ></HyperlinkButton>
17 </Canvas>
18</UserContro>
19

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved