Bladeren bron

Fixed Selection issues is CoreRepository

Frank van den Bos 1 jaar geleden
bovenliggende
commit
91476ed6bb
1 gewijzigde bestanden met toevoegingen van 7 en 1 verwijderingen
  1. 7 1
      InABox.Mobile/InABox.Mobile.Shared/DataModels/CoreRepository.cs

+ 7 - 1
InABox.Mobile/InABox.Mobile.Shared/DataModels/CoreRepository.cs

@@ -162,6 +162,7 @@ namespace InABox.Mobile
         
         private void DoRefresh(bool force)
         {
+            var curselected = _selectedItems.ToArray();
             _items.Clear();
             _selectedItems.Clear();
 
@@ -171,6 +172,7 @@ namespace InABox.Mobile
                 if (LoadFromStorage())
                 {
                     DoAfterLoad();
+                    _selectedItems.AddRange(_items.Where(x=>curselected.Contains(x)));
                     return;
                 }
             }
@@ -179,8 +181,11 @@ namespace InABox.Mobile
             {
                 DoLoad();
                 SaveToStorage();
+                _selectedItems.AddRange(_items.Where(x=>curselected.Contains(x)));
                 return;
             }
+            
+            _selectedItems.AddRange(_items.Where(x=>curselected.Contains(x)));
  
         }
 
@@ -298,13 +303,14 @@ namespace InABox.Mobile
 
         public void Search()
         {
+            var curselected = _selectedItems.ToArray();
             var items = _allitems == null
                 ? new List<TItem>()
                 : SearchPredicate != null
                     ? new List<TItem>(_allitems.Where(SearchPredicate))
                     : new List<TItem>(_allitems);
             
-            _selectedItems = new CoreObservableCollection<TItem>();
+            _selectedItems = new CoreObservableCollection<TItem>(items.Where(x=>curselected.Contains(x)));
             OnPropertyChanged(nameof(SelectedItems));
             //_selectedItems.RemoveAll(x => !items.Contains(x));