| 
					
				 | 
			
			
				@@ -15,8 +15,10 @@ namespace ControlCatalog.Pages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private readonly ItemsRepeaterPageViewModel _viewModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private ItemsRepeater _repeater; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private ScrollViewer _scroller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private int _selectedIndex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private Button _scrollToLast; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private Button _scrollToRandom; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private Button _scrollToSelected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private Random _random = new Random(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public ItemsRepeaterPage() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,10 +28,12 @@ namespace ControlCatalog.Pages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _scroller = this.FindControl<ScrollViewer>("scroller"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _scrollToLast = this.FindControl<Button>("scrollToLast"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _scrollToRandom = this.FindControl<Button>("scrollToRandom"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _scrollToSelected = this.FindControl<Button>("scrollToSelected"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _repeater.PointerPressed += RepeaterClick; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _repeater.KeyDown += RepeaterOnKeyDown; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _scrollToLast.Click += scrollToLast_Click; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _scrollToRandom.Click += scrollToRandom_Click; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _scrollToSelected.Click += scrollToSelected_Click; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DataContext = _viewModel = new ItemsRepeaterPageViewModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,6 +125,7 @@ namespace ControlCatalog.Pages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var item = (e.Source as TextBlock)?.DataContext as ItemsRepeaterPageViewModel.Item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _viewModel.SelectedItem = item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _selectedIndex = _viewModel.Items.IndexOf(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void RepeaterOnKeyDown(object sender, KeyEventArgs e) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,5 +145,10 @@ namespace ControlCatalog.Pages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ScrollTo(_random.Next(_viewModel.Items.Count - 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private void scrollToSelected_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ScrollTo(_selectedIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |