ItemsRepeaterPageViewModel.cs 729 B

123456789101112131415161718192021222324252627
  1. using System.Collections.ObjectModel;
  2. using System.Linq;
  3. using ReactiveUI;
  4. namespace ControlCatalog.ViewModels
  5. {
  6. public class ItemsRepeaterPageViewModel : ReactiveObject
  7. {
  8. private int newItemIndex = 1;
  9. public ItemsRepeaterPageViewModel()
  10. {
  11. Items = new ObservableCollection<string>(
  12. Enumerable.Range(1, 100000).Select(i => $"Item {i}"));
  13. }
  14. public ObservableCollection<string> Items { get; }
  15. public string SelectedItem { get; set; }
  16. public void AddItem()
  17. {
  18. var index = SelectedItem != null ? Items.IndexOf(SelectedItem) : -1;
  19. Items.Insert(index + 1, $"New Item {newItemIndex++}");
  20. }
  21. }
  22. }