diff --git a/samples/VirtualizationTest/MainWindow.xaml b/samples/VirtualizationTest/MainWindow.xaml index 8595383bdf..aa882c052a 100644 --- a/samples/VirtualizationTest/MainWindow.xaml +++ b/samples/VirtualizationTest/MainWindow.xaml @@ -20,8 +20,7 @@ - - + diff --git a/samples/VirtualizationTest/ViewModels/MainWindowViewModel.cs b/samples/VirtualizationTest/ViewModels/MainWindowViewModel.cs index 5b4a51f626..dde3bd357d 100644 --- a/samples/VirtualizationTest/ViewModels/MainWindowViewModel.cs +++ b/samples/VirtualizationTest/ViewModels/MainWindowViewModel.cs @@ -21,11 +21,8 @@ namespace VirtualizationTest.ViewModels RecreateCommand = ReactiveCommand.Create(); RecreateCommand.Subscribe(_ => Recreate()); - AppendItemCommand = ReactiveCommand.Create(); - AppendItemCommand.Subscribe(_ => Append()); - - PrePendItemCommand = ReactiveCommand.Create(); - PrePendItemCommand.Subscribe(_ => PrePend()); + AddItemCommand = ReactiveCommand.Create(); + AddItemCommand.Subscribe(_ => AddItem()); RemoveItemCommand = ReactiveCommand.Create(); RemoveItemCommand.Subscribe(_ => Remove()); @@ -55,9 +52,7 @@ namespace VirtualizationTest.ViewModels private set { this.RaiseAndSetIfChanged(ref _items, value); } } - public ReactiveCommand AppendItemCommand { get; private set; } - - public ReactiveCommand PrePendItemCommand { get; private set; } + public ReactiveCommand AddItemCommand { get; private set; } public ReactiveCommand RecreateCommand { get; private set; } @@ -83,14 +78,16 @@ namespace VirtualizationTest.ViewModels } } - private void Append() + private void AddItem() { - Items.Add(new ItemViewModel(Items.Count, NewItemString)); - } + var index = Items.Count; - private void PrePend () - { - Items.Insert(0, new ItemViewModel(0, NewItemString)); + if (SelectedItem != null) + { + index = Items.IndexOf(SelectedItem); + } + + Items.Insert(index, new ItemViewModel(index, NewItemString)); } private void Remove()