internal DragSourceManagerBase(UIElement draggedElement, AdornerLayer adornerLayer, UIElement container, bool enableAutoScroll, bool showGhost) { if (draggedElement == null) { throw new ArgumentNullException("draggedElement"); } if (container == null) { throw new ArgumentNullException("container"); } m_draggedElement = draggedElement; m_container = container; m_adornerLayer = (adornerLayer != null) ? adornerLayer : AdornerLayer.GetAdornerLayer(container); m_showGhost = showGhost; if (enableAutoScroll) { var scrollViewer = DragSourceManagerBase.GetScrollViewer(draggedElement); if (scrollViewer != null) { m_autoScrollManager = new AutoScrollManager(scrollViewer); } } }
public DragSourceManager(UIElement draggedElement, AdornerLayer adornerLayerInsideDragContainer, UIElement dragContainer, bool enableAutoScroll, bool showDraggedElementGhost) { if (draggedElement == null) { throw new ArgumentNullException("draggedElement"); } if (dragContainer == null) { throw new ArgumentNullException("dragContainer"); } this.SetDraggedElement(draggedElement); this.DragContainer = dragContainer; this.ShowDraggedElementGhost = showDraggedElementGhost; // If the AdornerLayer was not provided to the DragSourceManager if (adornerLayerInsideDragContainer == null) { // Get the first AdornerLayer up the VisualTree of the dragContainer this.AdornerLayerInsideDragContainer = AdornerLayer.GetAdornerLayer(this.DragContainer); } else { this.AdornerLayerInsideDragContainer = adornerLayerInsideDragContainer; } if (enableAutoScroll) { DependencyObject element = draggedElement; ScrollViewer scrollViewer = null; while (element != null) { element = VisualTreeHelper.GetParent(element); scrollViewer = element as ScrollViewer; if (scrollViewer != null) { break; } } if (scrollViewer != null) { m_autoScrollManager = new AutoScrollManager(scrollViewer); } } }
public DragSourceManager( UIElement draggedElement, AdornerLayer adornerLayerInsideDragContainer, UIElement dragContainer, bool enableAutoScroll, bool showDraggedElementGhost ) { if( draggedElement == null ) throw new ArgumentNullException( "draggedElement" ); if( dragContainer == null ) throw new ArgumentNullException( "dragContainer" ); this.SetDraggedElement( draggedElement ); this.DragContainer = dragContainer; this.ShowDraggedElementGhost = showDraggedElementGhost; // If the AdornerLayer was not provided to the DragSourceManager if( adornerLayerInsideDragContainer == null ) { // Get the first AdornerLayer up the VisualTree of the dragContainer this.AdornerLayerInsideDragContainer = AdornerLayer.GetAdornerLayer( this.DragContainer ); } else { this.AdornerLayerInsideDragContainer = adornerLayerInsideDragContainer; } if( enableAutoScroll ) { DependencyObject element = draggedElement; ScrollViewer scrollViewer = null; while( element != null ) { element = VisualTreeHelper.GetParent( element ); scrollViewer = element as ScrollViewer; if( scrollViewer != null ) break; } if( scrollViewer != null ) { m_autoScrollManager = new AutoScrollManager( scrollViewer ); } } }