コード例 #1
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="bz"></param>
 public void Del(BezierLine bz)
 {
     if (bz == null)
     {
         return;
     }
     if (contentsCanvas.Children.Contains(bz))
     {
         contentsCanvas.Children.Remove(bz);
     }
     if (BzLines.Contains(bz))
     {
         BzLines.Remove(bz);
     }
     if ((bz.LeftElement as MLParatItemLayout) != null)
     {
         (bz.LeftElement as MLParatItemLayout).Del(bz);
     }
     if (bz.RightElement as MLParatItemLayout != null)
     {
         (bz.RightElement as MLParatItemLayout).Del(bz);
     }
     bz.ClearEndBind();
     bz.ClearStartBind();
     bz.Dispose();
     bz = null;
 }
コード例 #2
0
        /// <summary>
        /// 连接贝塞尔曲线到2个点
        /// </summary>
        /// <param name="bz"></param>
        /// <param name="mlp1"></param>
        /// <param name="mlp2"></param>
        public void LinkBezier(BezierLine bz, MLParatItemLayout mlp1, MLParatItemLayout mlp2, bool isAddtoCanvas = true)
        {
            if (bz == null || mlp1 == null || mlp2 == null)
            {
                return;
            }
            BezierLine ol = mlp1.SetLink(bz);

            if (ol != null)
            {
                Del(ol);
            }
            ol = mlp2.SetLink(bz);
            if (ol != null)
            {
                Del(ol);
            }
            bz.ClearStartBind();
            bz.ClearEndBind();
            if (mlp1 as BezierLinkLayout.ScriptIParameterLayout.InputParaItemLayout != null)
            {
                bz.BindPointStart(mlp2, "LinkPosition");
                bz.BindPointEnd(mlp1, "LinkPosition");
            }
            else
            {
                bz.BindPointStart(mlp1, "LinkPosition");
                bz.BindPointEnd(mlp2, "LinkPosition");
            }

            IParatItem ipl = (bz.LeftElement.DataContext as IParatItem);
            IParatItem ipr = (bz.RightElement.DataContext as IParatItem);

            ipl.LinkIParatItem = ipr;
            ipr.LinkIParatItem = ipl;
            bz.Color           = ipl.Color;
            if (isAddtoCanvas)
            {
                Add(bz);
            }
        }