Esempio n. 1
0
 /// <summary>
 /// 控件删除操作
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void _ControlDeleteMethod(object sender, ControlDeleteEventArgs e)
 {
     if (null != ControlDelete)
     {
         ControlDelete(sender, e);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 删除操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void DesignPage_ControlDelete(object sender, ControlDeleteEventArgs e)
        {
            this.IsUpdate = true;
            string controlName = e.ControlName;

            this._IDesignFramework.UpdateCurrentSelectedCtrl(null);
            DeleteCurrentSelectedControl(controlName);
            //-->如果是Form控件的话,删除最后一个控件的时候,要把虚拟的那个控件也要删除掉
            string v_control = Wrapper.ParseControlName(controlName);

            if (!v_control.Equals(controlName))
            {
                int controls = _XmlTemplate.ControlItem.Where(p => p.Name.Contains(v_control)).Count();
                if (1 == controls)
                {
                    //-->最后一个控件了,现在开始进行删除操作
                    DeleteCurrentSelectedControl(v_control);
                }
            }

            this.Xaml_Template = this._XamlTemplate.ParseXml().ToString();
            this.Xml_Template  = _XmlTemplate.ParseXml().ToString();

            UpdateControlTree();
        }
Esempio n. 3
0
        /// <summary>
        /// 删除当前选择的控件
        /// </summary>
        void DeleteCurrentSelectedControl()
        {
            if (null == _CurrentDesignCtrl)
            {
                return;
            }
            ControlDeleteEventArgs de = new ControlDeleteEventArgs();

            de.ControlName = this._CurrentDesignCtrl.Name;
            _ControlDeleteMethod(this, de);

            //-->删除字典里的控件
            dictControl.Remove(de.ControlName);

            //-->获取当前的控件所在索引
            int indexs = this.cvsPanle.Children.IndexOf(this._CurrentDesignCtrl);

            this.cvsPanle.Children.Remove(this._CurrentDesignCtrl);
            _CurrentDesignCtrl = null;
            //-->
            if (0 == this.cvsPanle.Children.Count)
            {
                dr.Visibility = System.Windows.Visibility.Collapsed;
                return;
            }
            if (indexs >= this.cvsPanle.Children.Count)
            {
                indexs = this.cvsPanle.Children.Count - 1;
            }
            this._CurrentDesignCtrl = this.cvsPanle.Children[indexs] as FrameworkElement;
            if (this._CurrentDesignCtrl is Line || _CurrentDesignCtrl.Equals(dr))
            {
                dr.Visibility = System.Windows.Visibility.Collapsed;
                return;
            }
            dr.Width  = this._CurrentDesignCtrl.Width;
            dr.Height = this._CurrentDesignCtrl.Height;
            dr.SetValue(Canvas.TopProperty, (double)this._CurrentDesignCtrl.GetValue(Canvas.TopProperty));
            dr.SetValue(Canvas.LeftProperty, (double)this._CurrentDesignCtrl.GetValue(Canvas.LeftProperty));
        }