|
|
@@ -1,3 +1,4 @@
|
|
|
+using System;
|
|
|
using System.Collections.ObjectModel;
|
|
|
using System.Linq;
|
|
|
using System.Reactive;
|
|
|
@@ -27,7 +28,7 @@ namespace ControlCatalog.Pages
|
|
|
|
|
|
public PageViewModel()
|
|
|
{
|
|
|
- Items = new ObservableCollection<string>(Enumerable.Range(1, 10).Select(i => GenerateItem()));
|
|
|
+ Items = new ObservableCollection<string>(Enumerable.Range(1, 10000).Select(i => GenerateItem()));
|
|
|
SelectedItems = new ObservableCollection<string>();
|
|
|
|
|
|
AddItemCommand = ReactiveCommand.Create(() => Items.Add(GenerateItem()));
|
|
|
@@ -39,16 +40,34 @@ namespace ControlCatalog.Pages
|
|
|
Items.Remove(SelectedItems[0]);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ SelectRandomItemCommand = ReactiveCommand.Create(() =>
|
|
|
+ {
|
|
|
+ var random = new Random();
|
|
|
+
|
|
|
+ SelectedItem = Items[random.Next(Items.Count - 1)];
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
public ObservableCollection<string> Items { get; }
|
|
|
|
|
|
+ private string _selectedItem;
|
|
|
+
|
|
|
+ public string SelectedItem
|
|
|
+ {
|
|
|
+ get { return _selectedItem; }
|
|
|
+ set { this.RaiseAndSetIfChanged(ref _selectedItem, value); }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public ObservableCollection<string> SelectedItems { get; }
|
|
|
|
|
|
public ReactiveCommand<Unit, Unit> AddItemCommand { get; }
|
|
|
|
|
|
public ReactiveCommand<Unit, Unit> RemoveItemCommand { get; }
|
|
|
|
|
|
+ public ReactiveCommand<Unit, Unit> SelectRandomItemCommand { get; }
|
|
|
+
|
|
|
public SelectionMode SelectionMode
|
|
|
{
|
|
|
get => _selectionMode;
|