private void BeginDrag(FrameworkElement dragContainer) { _dragItem = dragContainer; if (_dragItem == null) { return; } // get the index of the item (and make sure that it is a valid child) _dragItemIndex = this.ItemContainerGenerator.IndexFromContainer(_dragItem); if (_dragItemIndex == -1) { return; } // create an adorner _dragAdorner = new DragPreviewAdorner(_dragItem, _dragItem); _dragAdorner.IsHitTestVisible = false; this.AdornerLayer.Add(_dragAdorner); // tell the item it's dragging and hide it SetIsDragging(_dragItem, true); _dragItem.Visibility = Visibility.Hidden; // get the current location of the mouse _mouseDown = Mouse.GetPosition(this); // set mouse capture (so that we are dragging) Mouse.Capture(this); _isDragging = true; // raise an event to signal that we've started ragging RaiseReorderBeginEvent(); }
private void BeginDrag(FrameworkElement dragContainer) { _dragItem = dragContainer; if (_dragItem == null) return; // get the index of the item (and make sure that it is a valid child) _dragItemIndex = this.ItemContainerGenerator.IndexFromContainer(_dragItem); if (_dragItemIndex == -1) return; // create an adorner _dragAdorner = new DragPreviewAdorner(_dragItem, _dragItem); _dragAdorner.IsHitTestVisible = false; this.AdornerLayer.Add(_dragAdorner); // tell the item it's dragging and hide it SetIsDragging(_dragItem, true); _dragItem.Visibility = Visibility.Hidden; // get the current location of the mouse _mouseDown = Mouse.GetPosition(this); // set mouse capture (so that we are dragging) Mouse.Capture(this); _isDragging = true; // raise an event to signal that we've started ragging RaiseReorderBeginEvent(); }