Exemplo n.º 1
0
        protected override void OnDrop(DragEventArgs e)
        {
            int index = addAtEndMarker;
            WorkflowViewElement dropTarget = null;

            if (e.OriginalSource is WorkflowViewElement)
            {
                dropTarget = (WorkflowViewElement)e.OriginalSource;
            }
            else
            {
                dropTarget = VisualTreeUtils.FindFocusableParent <WorkflowViewElement>((UIElement)e.OriginalSource);
            }

            if (null != dropTarget && null != dropTarget.ModelItem)
            {
                int targetIndex = this.Items.IndexOf(dropTarget.ModelItem);
                if (-1 != targetIndex)
                {
                    index = targetIndex + 1;
                }
            }
            OnItemsDropped(e, index);
            base.OnDrop(e);
        }