private async Task<IList<Contact>> SelectContactsAsync( SelectContactInteraction selectContact ) { Contract.Requires( selectContact != null ); Contract.Ensures( Contract.Result<Task<IList<Contact>>>() != null ); var commitButtonText = selectContact.DefaultCommand?.Name; var dialog = new ContactPicker(); dialog.DesiredFieldsWithContactFieldType.AddRange( selectContact.DesiredFields ); #if WINDOWS_PHONE_APP TryIfImplemented( () => dialog.SelectionMode = selectContact.DesiredFields.Any() ? ContactSelectionMode.Fields : ContactSelectionMode.Contacts ); TryIfImplemented( () => { if ( !string.IsNullOrEmpty( commitButtonText ) ) dialog.CommitButtonText = commitButtonText; } ); #else dialog.SelectionMode = selectContact.DesiredFields.Any() ? ContactSelectionMode.Fields : ContactSelectionMode.Contacts; if ( !string.IsNullOrEmpty( commitButtonText ) ) dialog.CommitButtonText = commitButtonText; #endif if ( selectContact.Multiselect ) return await dialog.PickContactsAsync(); var contacts = new List<Contact>(); var contact = await dialog.PickContactAsync(); if ( contact != null ) contacts.Add( contact ); return contacts; }
public async Task <IEnumerable <Contact> > PickContactsPhone() { ContactPicker contactPicker = new ContactPicker(); contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber); var contacts = await contactPicker.PickContactsAsync(); return(contacts); }
private async void PickContactsPhone() { ClearOutputs(); var contactPicker = new ContactPicker(); // Ask the user to pick contact phone numbers. contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber); var contacts = await contactPicker.PickContactsAsync(); ReportContactResults(contacts); }
private async void PickContactsEmail() { ClearOutputs(); var contactPicker = new ContactPicker(); // Ask the user to pick contact email addresses. contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email); var contacts = await contactPicker.PickContactsAsync(); ReportContactResults(contacts); }
private async void HandleAddContactClick(Object sender, RoutedEventArgs e) { var contactPicker = new ContactPicker { SelectionMode = ContactSelectionMode.Contacts, //SelectionMode = ContactSelectionMode.Fields, //DesiredFieldsWithContactFieldType = {ContactFieldType.Email} }; var contacts = await contactPicker.PickContactsAsync(); foreach (var contact in contacts) { AppSampleData.Current.SampleData.AddContact(contact); } }
private async void MultiSelectContact_Tapped(object sender, TappedRoutedEventArgs e) { ContactPicker contactPicker = new ContactPicker(); contactPicker.CommitButtonText = "Select"; contactPicker.SelectionMode = ContactSelectionMode.Fields; contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber); contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email); IList <Contact> contacts = await contactPicker.PickContactsAsync(); if (contacts != null && contacts.Count > 0) { foreach (Contact contact in contacts) { System.Diagnostics.Debug.WriteLine(contact?.DisplayName + contact.Emails?[0]?.Address); } } }
private async void Button_Click(object sender, RoutedEventArgs e) { ContactPicker contactPicker = new ContactPicker(); contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber); var contacts = await contactPicker.PickContactsAsync(); if (contacts != null && contacts.Count > 0) { foreach (Contact contact in contacts) { recipientbox.Text += contact.Phones[0].Number + "; "; } var wors = recipientbox.Text.Split("; "); foreach (var wor in wors) { Debug.WriteLine(wor); } } }
private async void contactsPicker() { var contactPicker = new ContactPicker(); contactPicker.CommitButtonText = "Select"; contacts = await contactPicker.PickContactsAsync(); contactPickerTb.Text = string.Empty; if (contacts != null && contacts.Count > 0) { foreach (Contact contact in contacts) { var item = (new ContactItemAdapter(contact)); contactPickerTb.Text = contactPickerTb.Text + item.Name + "; "; } } else { } }
/// <summary> /// Launches a picker which allows the user to choose multiple contacts /// </summary> /// <param name="response">Contains the chosen contacts or null if nothing was selected</param> public static void PickContacts(Action <IEnumerable <WSAContact> > response) { #if NETFX_CORE || (ENABLE_IL2CPP && UNITY_WSA_10_0) UnityEngine.WSA.Application.InvokeOnUIThread(async() => { ContactPicker contactPicker = new ContactPicker(); contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email); contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber); contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Address); IList <Contact> contacts = await contactPicker.PickContactsAsync(); UnityEngine.WSA.Application.InvokeOnAppThread(() => { if (response != null) { response(contacts != null && contacts.Any() ? contacts.Select(x => MapContactToWSAContact(x)) : null); } }, true); }, false); #endif }
private async void btnPickContacts_Click(object sender, RoutedEventArgs e) { ContactPicker contactPicker = new ContactPicker(); // 指定需要选取的联系人的字段 contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.Email); contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber); // 启动联系人选取器,以选择多个联系人 IList <Contact> contacts = await contactPicker.PickContactsAsync(); if (contacts != null && contacts.Count > 0) { foreach (Contact contact in contacts) { lblMsg.Text += string.Format("name:{0}", contact.Name); lblMsg.Text += Environment.NewLine; foreach (ContactEmail email in contact.Emails) { lblMsg.Text += string.Format("email kind:{0}, email address:{1}", email.Kind, email.Address); lblMsg.Text += Environment.NewLine; } foreach (ContactPhone phone in contact.Phones) { lblMsg.Text += string.Format("phone kind:{0}, phone number:{1}, phone description:{2}", phone.Kind, phone.Number, phone.Description); lblMsg.Text += Environment.NewLine; } } } else { lblMsg.Text += "取消了"; lblMsg.Text += Environment.NewLine; } }