BaconographyWP8.Common.ReorderListBox.UpdateDropTargetIndex C# (CSharp) Method

UpdateDropTargetIndex() private method

Updates the targeted index -- that is the index where the item will be moved to if dropped at this point.
private UpdateDropTargetIndex ( ReorderListBoxItem targetItemContainer, bool after ) : void
targetItemContainer ReorderListBoxItem
after bool
return void
        private void UpdateDropTargetIndex(ReorderListBoxItem targetItemContainer, bool after)
        {
            int dragItemIndex = this.Items.IndexOf(this.dragItem);
            int targetItemIndex = this.Items.IndexOf(targetItemContainer.Content);

            int newDropTargetIndex;
            if (targetItemIndex == dragItemIndex)
            {
                newDropTargetIndex = dragItemIndex;
            }
            else
            {
                newDropTargetIndex = targetItemIndex + (after ? 1 : 0) - (targetItemIndex >= dragItemIndex ? 1 : 0);
            }

            if (newDropTargetIndex != this.dropTargetIndex)
            {
                this.dropTargetIndex = newDropTargetIndex;
            }
        }