Если вы используете Windows Phone 7.0, вы можете одновременно читать только один контакт.используя, например, EmailAddressChooserTask
или PhoneNumberChooserTask
, вы можете сделать то же самое с EmailAddressChooserTask
:
private PhoneNumberChooseTask myPhoneChooserTask;
public MainPage()
{
InitializeComponent();
myPhoneChooserTask = new PhoneNumberChooseTask ();
myPhoneChooserTask.Completed += (o, e) =>
{
if (e.TaskResult == TaskResult.OK)
//Here means the phone is chosen successfully. you can access the phone number with e.PhoneNumber
else
//Here means the phone is not chosen
}
myPhoneChooserTask.Show(); //Show contact list for choosing
}
Однако с ОС Windows 7.1 вы можете читать все контакты с помощью поиска контактовс пустой строкой, такой как ... взято из http://msdn.microsoft.com/en-us/library/hh286416(v=vs.92).aspx
private void ButtonContacts_Click(object sender, RoutedEventArgs e)
{
Contacts cons = new Contacts();
//Identify the method that runs after the asynchronous search completes.
cons.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(Contacts_SearchCompleted);
//Start the asynchronous search.
cons.SearchAsync(String.Empty, FilterKind.None, "Contacts Test #1");
}
void Contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
//Do something with the results.
MessageBox.Show(e.Results.Count().ToString());
}
Удачи!