void Initialize() { // cache hit? var carouselView = base.Control; if (carouselView != null) { return; } _lastBounds = Bounds; _controller = new CarouselViewController( renderer: this ); // hook up on position changed event _controller.OnPositionChanged = OnPositionChange; // populate cache SetNativeControl(_controller.CollectionView); }