private void DetermineColumnFate(CanvasColumn canvasColumn, List<CanvasColumn> recycleList, List<CanvasColumn> realizeList) { // if it's outside realized bounds if (IsOutsideRealizedBounds(canvasColumn.CanvasPosition)) { if (canvasColumn.IsRealized) { recycleList.Add(canvasColumn); } } else { if (!canvasColumn.IsRealized) { realizeList.Add(canvasColumn); } } }
private async Task GenerateColumn(bool isFront) { double newHorizontalPosition = isFront ? this.ForwardFrontier : this.RearFrontier - _columnWidth; CanvasColumn ccol = new CanvasColumn(this, _fiSource, _cpCache, newHorizontalPosition, _canvasColumnList.Count); if (isFront) { _canvasColumnList.Add(ccol); } else { _canvasColumnList.Insert(0, ccol); } await ccol.LoadItems(this.InnerSize, isFront); OnColumnLoaded(); }