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) { } }
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) { } }