private void PositionItem(FrameworkElement item, Direction direction, ColumnSummary column, int columnIndex)
        {
            Canvas.SetLeft(item, column.leftMargin);

            if (direction == Direction.Below)
            {
                Canvas.SetTop(item, column.visibleBottom);
            }
            else
            {
                Canvas.SetTop(item, column.visibleTop);
            }
        }
        private ColumnSummary ChooseBelowPositionUsingHeight()
        {
            ColumnSummary higher = columns[0];

            for (int i = 1; i < columns.Count; i++)
            {
                if (columns[i].height < higher.height)
                {
                    higher = columns[i];
                }
            }

            return(higher);
        }