Ejemplo n.º 1
0
 public void DelSynchronizer(SynchronizerControl con)
 {
     if (this.WorkflowProcessCurrent.Synchronizers.Remove(con.Synchronizer))
     {
         UserControls.Remove(con.Id);
         canvas.Children.Remove(con);
         foreach (var item in con.Synchronizer.LeavingTransitions)
         {
             item.FromNode = null;
         }
         foreach (var item in con.Synchronizer.EnteringTransitions)
         {
             item.ToNode = null;
         }
         foreach (var item in con.Synchronizer.LeavingLoops)
         {
             item.FromNode = null;
         }
         foreach (var item in con.Synchronizer.EnteringLoops)
         {
             item.ToNode = null;
         }
     }
 }
Ejemplo n.º 2
0
        private void SynchronizerButtonDown(object sender, MouseButtonEventArgs e)
        {
            SynchronizerControl sc = new SynchronizerControl(this, null,false);
            sc.InitNode();
            if (!canvas.Children.Contains(sc))
            {
                sc.LoadNode();
                //设置位置
                Point p = e.GetPosition(canvas);
                sc.SetPoint((double)(p.X - sc.Bounds.Width / 2), (double)(p.Y - sc.Bounds.Height / 2));

                this.AddHandle(sc);
                this.WorkflowProcessCurrent.Synchronizers.Add(sc.Synchronizer);
                canvas.Children.Add(sc);
                UserControls.Add(sc.Id, sc);
            }
            //listBox.SelectedIndex = 0;
        }