private void HandleVerticalScroll() { for (var i = _scrollBoundaries.Count - 2; i >= 0; i--) { if (_scrollBoundaries[i] < vertScroll.Value) { var offset = new VerticalOffset(i, Math.Min((vertScroll.Value - _scrollBoundaries[i]) / (_scrollBoundaries[i + 1] - _scrollBoundaries[i]), 1.0)); _leftView.VertOffset = offset; _parentView.VertOffset = offset; _rightView.VertOffset = offset; _outputView.VertOffset = offset; break; } } }