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;
}
}