public CellsRange(CellsCollection source, Point start, Point end)
        {
            this.source = source;

            Start = start;
            End = end;
        }
        /// <summary>
        /// Loads all needed cells
        /// </summary>
        private void LoadSheetGrid()
        {
            // Clears cells from grid and creates new list of cells
            SheetGrid.Children.Clear();
            this.cells = new CellsCollection(this);

            // This prevents error when SheetGrid.Actual(Width & Height) is zero
            this.numRowsInView = this.numColumnsInView = 0;

            // Check if user can see any cells
            if (SheetGrid.ActualWidth != 0 &&
                SheetGrid.ActualHeight != 0) {
                // Calculate number of visible cells
                this.numRowsInView = (int)Math.Ceiling(SheetGrid.ActualHeight / DefaultCellHeight);
                this.numColumnsInView = (int)Math.Ceiling(SheetGrid.ActualWidth / DefaultCellWidth);
            }
        }
 public CellsRange(CellsCollection source)
 {
     this.source = source;
 }