private void PanelDragLeave(object sender, DragEventArgs e)
 {
     if (_dragPositonAdorner != null)
     {
         _dragPositonAdorner.Detach();
         _dragPositonAdorner = null;
     }
 }
        private void PanelDragEnter(object sender, DragEventArgs e)
        {
            //由于ScheduleGrid的元素加载过慢,所以在这里预存方便调用。
            _verticalControl   = _scheduleGrid.VerticalMainElement;
            _horizontalControl = _scheduleGrid.HorizontalMainElement;

            //_horizontalInterface = (IHorizontalControl<DateTime>)_scheduleGrid.HorizontalMainElement;
            //_verticalInterface = (IVerticalControl<int>)_scheduleGrid.VerticalMainElement;

            try
            {
                var data    = e.Data.GetData(Format.Name);
                var canDrag = data != null;
                if (!canDrag)
                {
                    return;
                }

                if (_dragPositonAdorner == null)
                {
                    var template     = GetDragItemTemplate(_scheduleGrid);
                    var xoffset      = GetDragItemXoffset(_scheduleGrid);
                    var yoffset      = GetDragItemYoffset(_scheduleGrid);
                    var adornerLayer = AdornerLayer.GetAdornerLayer(_scheduleGrid);
                    _dragPositonAdorner = new PostionAdorner(_scheduleGrid, adornerLayer, template)
                    {
                        Xoffset = xoffset,
                        Yoffset = yoffset
                    };
                }
                e.Handled = true;
            }
            catch (Exception ex)
            {
            }
        }
示例#3
0
        private void PanelDragEnter(object sender, DragEventArgs e)
        {
            //由于ScheduleGrid的元素加载过慢,所以在这里预存方便调用。
            _verticalControl = _scheduleGrid.VerticalMainElement;
            _horizontalControl = _scheduleGrid.HorizontalMainElement;

            //_horizontalInterface = (IHorizontalControl<DateTime>)_scheduleGrid.HorizontalMainElement;
            //_verticalInterface = (IVerticalControl<int>)_scheduleGrid.VerticalMainElement;

            try
            {
                var data = e.Data.GetData(Format.Name);
                var canDrag = data != null;
                if (!canDrag)
                    return;

                if (_dragPositonAdorner == null)
                {
                    var template = GetDragItemTemplate(_scheduleGrid);
                    var xoffset = GetDragItemXoffset(_scheduleGrid);
                    var yoffset = GetDragItemYoffset(_scheduleGrid);
                    var adornerLayer = AdornerLayer.GetAdornerLayer(_scheduleGrid);
                    _dragPositonAdorner = new PostionAdorner(_scheduleGrid, adornerLayer, template)
                                              {
                                                  Xoffset = xoffset,
                                                  Yoffset = yoffset
                                              };
                }
                e.Handled = true;
            }
            catch (Exception ex)
            {

            }
        }
示例#4
0
 private void PanelDragLeave(object sender, DragEventArgs e)
 {
     if (_dragPositonAdorner != null)
     {
         _dragPositonAdorner.Detach();
         _dragPositonAdorner = null;
     }
 }