async Task ExecuteLoadContacts() { if (IsBusy) { return; } IsBusy = true; try { Contacts.Clear(); var items = await DataStoreContact.GetItemsAsync(true); foreach (var item in items) { Contacts.Add(item); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
public ContactsViewModel() { Title = "My Contacts"; Contacts = new ObservableCollection <Contact>(); LoadContactsCommand = new Command(async() => { await ExecuteLoadContacts(); }); MessagingCenter.Subscribe <NewContactPage, Contact>(this, "AddContact", async(obj, contact) => { var newContact = contact as Contact; Contacts.Add(newContact); await DataStoreContact.AddItemAsync(newContact); }); }