From f21098848ccae7890012106d51f70ef8476744a4 Mon Sep 17 00:00:00 2001 From: Eric Maupin Date: Tue, 19 Feb 2019 15:35:15 -0500 Subject: [mac] Collection property editor --- .../ViewModels/CollectionPropertyViewModel.cs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Xamarin.PropertyEditing') diff --git a/Xamarin.PropertyEditing/ViewModels/CollectionPropertyViewModel.cs b/Xamarin.PropertyEditing/ViewModels/CollectionPropertyViewModel.cs index c833a6f..8f1bdd0 100644 --- a/Xamarin.PropertyEditing/ViewModels/CollectionPropertyViewModel.cs +++ b/Xamarin.PropertyEditing/ViewModels/CollectionPropertyViewModel.cs @@ -188,6 +188,12 @@ namespace Xamarin.PropertyEditing.ViewModels get; } + public void MoveTarget (int index, int target) + { + this.collectionView.Move (index, target); + ReIndex (); + } + protected override async Task UpdateCurrentValueAsync () { await base.UpdateCurrentValueAsync (); @@ -372,7 +378,12 @@ namespace Xamarin.PropertyEditing.ViewModels var args = new TypeRequestedEventArgs(); TypeRequested?.Invoke (this, args); - ITypeInfo st = await args.SelectedType; + ITypeInfo st = null; + try { + st = await args.SelectedType; + } catch (OperationCanceledException) { + } + if (st != null) { if (!this.suggestedTypes.Contains (st)) this.suggestedTypes.Insert (0, st); @@ -414,9 +425,7 @@ namespace Xamarin.PropertyEditing.ViewModels private void MoveTarget (bool up) { int index = this.collectionView.IndexOf (SelectedTarget); - this.collectionView.Move (index, index + ((up) ? -1 : 1)); - - ReIndex(); + MoveTarget (index, index + ((up) ? -1 : 1)); } private bool CanAddTarget () -- cgit v1.2.3