Catrobat.IDE.WindowsPhone.Controls.ListsViewControls.CatrobatListView.CatrobatListViewMisc.CatrobatListViewWorker.PrepareStartDrag C# (CSharp) Method

PrepareStartDrag() private method

private PrepareStartDrag ( double yPos ) : void
yPos double
return void
        private void PrepareStartDrag(double yPos)
        {
            if (_dragging != CatrobatListViewDragStaus.NotDragging)
            {
                return;
            }

            int verticalOffset = (int)Math.Floor(_scrollViewer.VerticalOffset);

            double tmpHeight = 0;
            for (int i = 0; i < Items.Count; i++)
            {

                var tmpItem = ContainerFromIndex(i) as CatrobatListViewItem;
                if (tmpItem == null || tmpItem.Visibility == Visibility.Collapsed)
                {
                    continue;
                }
                tmpHeight += tmpItem.ActualHeight + _verticalItemMargin;
                if (tmpHeight + _verticalItemMargin > verticalOffset + yPos)
                {
                    StartDrag(i, yPos);
                    return;
                }
            }
        }