コード例 #1
0
 /// <summary>
 /// Gets invoked when drag helper first attempts to initiate a drag operation.
 /// </summary>
 /// <param name="e">Event data object</param>
 /// <remarks>The event data contains DragData field which must be filled in with a valid data
 /// object. The base implementation of this method fires an event giving any listener a chance
 /// to provide the data object. Alternatively, a deriving class can provide it's own override
 /// of this method and fill in data object there. Without the data object, drag operation will
 /// not be started. It is advisable for derived class to make sure base implementation of this
 /// method is called.</remarks>
 protected virtual void OnQueryDragData(QueryDragDataEventArgs e)
 {
     if (QueryDragData != null)
     {
         QueryDragData(this, e);
     }
 }
コード例 #2
0
        /// <summary>
        /// Gets invoked when drag helper detects that a drag source has been dragged far enough
        /// for drag operation to initiate. If this method is overriden, deriving class must ensure
        /// that base implementation is invoked.
        /// </summary>
        protected virtual void DoDragDrop()
        {
            var eventArgs = new QueryDragDataEventArgs(_clickPoint);

            OnQueryDragData(eventArgs);

            if (eventArgs.IsCancelled || eventArgs.DragData == null)
            {
                return;
            }

            OnDragStarted(eventArgs.DragData);

            _adorner = new DragDropAdorner(_dragSource, _clickPoint);

            DragDropEffects result = DragDrop.DoDragDrop(
                _dragSource, eventArgs.DragData, DragDropEffects.Move | DragDropEffects.Link);

            _adorner.RemoveAdorner();
            _adorner = null;

            OnDragComplete(eventArgs.DragData, result);
        }
コード例 #3
0
ファイル: WidgetSiteControl.cs プロジェクト: dxm007/Droppy
        /// <inheritdoc/>
        protected override void OnQueryDragData(QueryDragDataEventArgs e)
        {
            if (_dragFrozenCount > 0)
            {
                return;
            }

            base.OnQueryDragData(e);

            if (e.DragData == null)
            {
                var data = new WidgetSiteDragDropData()
                {
                    DraggableOffset = e.DraggableOffset,
                    Site            = Parent,
                    Widget          = (Data.WidgetData)Parent.Content
                };

                var dataObject = new DataObject(data);

                e.DragData = dataObject;
            }
        }
コード例 #4
0
ファイル: DragDropHelper.cs プロジェクト: dxm007/Droppy
 /// <summary>
 /// Gets invoked when drag helper first attempts to initiate a drag operation.
 /// </summary>
 /// <param name="e">Event data object</param>
 /// <remarks>The event data contains DragData field which must be filled in with a valid data
 /// object. The base implementation of this method fires an event giving any listener a chance
 /// to provide the data object. Alternatively, a deriving class can provide it's own override
 /// of this method and fill in data object there. Without the data object, drag operation will
 /// not be started. It is advisable for derived class to make sure base implementation of this
 /// method is called.</remarks>
 protected virtual void OnQueryDragData( QueryDragDataEventArgs e )
 {
     if( QueryDragData != null )
     {
         QueryDragData( this, e );
     }
 }
コード例 #5
0
ファイル: DragDropHelper.cs プロジェクト: dxm007/Droppy
        /// <summary>
        /// Gets invoked when drag helper detects that a drag source has been dragged far enough
        /// for drag operation to initiate. If this method is overriden, deriving class must ensure
        /// that base implementation is invoked.
        /// </summary>
        protected virtual void DoDragDrop()
        {
            var eventArgs = new QueryDragDataEventArgs( _clickPoint );

            OnQueryDragData( eventArgs );

            if( eventArgs.IsCancelled || eventArgs.DragData == null ) return;

            OnDragStarted( eventArgs.DragData );

            _adorner = new DragDropAdorner( _dragSource, _clickPoint );

            DragDropEffects result = DragDrop.DoDragDrop(
                    _dragSource, eventArgs.DragData, DragDropEffects.Move | DragDropEffects.Link );

            _adorner.RemoveAdorner();
            _adorner = null;

            OnDragComplete( eventArgs.DragData, result );
        }
コード例 #6
0
ファイル: WidgetSiteControl.cs プロジェクト: dxm007/Droppy
        /// <inheritdoc/>
        protected override void OnQueryDragData( QueryDragDataEventArgs e )
        {
            if( _dragFrozenCount > 0 ) return;

            base.OnQueryDragData( e );

            if( e.DragData == null )
            {
                var data = new WidgetSiteDragDropData() {
                    DraggableOffset = e.DraggableOffset,
                    Site = Parent,
                    Widget = (Data.WidgetData)Parent.Content
                };

                var dataObject = new DataObject( data );

                e.DragData = dataObject;
            }
        }