WEB开发网
开发学院图形图像Flash 使用silverlight构建一个图形化流程设计器(二) 阅读

使用silverlight构建一个图形化流程设计器(二)

 2009-04-25 12:05:15 来源:WEB开发网   
核心提示: 另外一个需要仔细考虑的是,当拖动规则,使用silverlight构建一个图形化流程设计器(二)(4),并且将端点移动到活动上时,进行规则和活动关联的时机,检查规则是否处于活动的范围内,如果在,有以下几个时机可以考虑:l 拖动规则进入活动范围,(活动的MouseEnter事件)l 拖动规则结

另外一个需要仔细考虑的是,当拖动规则,并且将端点移动到活动上时,进行规则和活动关联的时机。有以下几个时机可以考虑:

l         拖动规则进入活动范围。(活动的MouseEnter事件)

l         拖动规则结束后,放开鼠标。

对于第一种情况,当拖动规则并且进入互动范围时,无法触发活动的MouseEnter事件。暂时无法解决。(但是在放开鼠标,并且在活动上移动时,此时触发MouseEnter事件。但是这样做会存在某些特定的bug)。因此使用第二种方法进行关联,也就是在规则的MouseLeftButtonUp事件中遍历当前所有的活动,检查规则是否处于活动的范围内,如果在,那么就进行关联。

3.2.1 xaml

下面的代码描述了规则类的xaml

 1<UserControl x:Class="Shareidea.Web.UI.Control.Workflow.Designer.Rule"
 2    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 3    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
 4             MouseEnter="UserControl_MouseEnter"  
 5             MouseLeave="UserControl_MouseLeave"
 6    >
 7    <Canvas    Canvas.ZIndex="100"   >
 8        <Ellipse  Name="begin" Canvas.Top="0" Canvas.Left="0" Canvas.ZIndex="100"
 9             Width="10" Height="10" Fill="White"
10             Stroke="Black" StrokeThickness="0"
11             MouseLeftButtonDown="Point_MouseLeftButtonDown" 
12             MouseLeftButtonUp="Point_MouseLeftButtonUp"
13             MouseMove="Point_MouseMove"
14                >
15        </Ellipse>
16        <Line  Name="line" Canvas.ZIndex="50"
17          X1="5" Y1="5" X2="45" Y2="45"
18          Stroke="#336699"  StrokeThickness="5"
19               MouseLeftButtonDown="Line_MouseLeftButtonDown"
20               MouseLeftButtonUp="Line_MouseLeftButtonUp"
21               MouseMove="Line_MouseMove" 
22              >
23        </Line>
24        <Canvas Canvas.Top="40" Canvas.Left="40"  Name="end"   Canvas.ZIndex="100"
25                 MouseLeftButtonDown="Point_MouseLeftButtonDown" 
26             MouseLeftButtonUp="Point_MouseLeftButtonUp"
27             MouseMove="Point_MouseMove">
28           
29            <Ellipse
30             Width="10" Height="10" Fill="Black"
31             Stroke="Black" StrokeThickness="1"  >
32            </Ellipse>
33        </Canvas>
34        <HyperlinkButton  Canvas.ZIndex="1000" MouseLeave="HyperlinkButton_MouseLeave" Foreground="Red" Padding="10 5 5 5" Width="65"  Height="25"  Canvas.Left="50" Background="Yellow" Name="btnDelete"  Click="HyperlinkButton_Click"  ClickMode="Release" Content="删除规则"  ></HyperlinkButton>
35    </Canvas>
36</UserControl>
37

上一页  1 2 3 4 5  下一页

Tags:使用 silverlight 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接