如何使用phoneNumber选择器在用户选择的Windows Phone 7上获取联系人图片或联系人图片。
PhoneNumberChooserTask phoneNumberChooserTask;
phoneNumberChooserTask = new PhoneNumberChooserTask();
phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
phoneNumberChooserTask.Show();
和用户选择联系人后的方法
public void phoneNumberChooserTask_Completed(object sender, PhoneNumberResult e)
{
if (e.TaskResult == TaskResult.OK)
{
MessageBox.Show("The phone number for " + e.DisplayName + " is " + e.PhoneNumber);
}
}
上面的代码是根据MSDN .. 上面的代码显示了电话号码。 如何获取联系人图片位置或数据URI?
答案 0 :(得分:1)
实际上这很简单:
添加参考using Microsoft.Phone.UserData
。然后,当您的任务完成后,按名称或电话号码搜索所有联系人,例如:
private void phoneNumberChooserTask_Completed(object sender, PhoneNumberResult e)
{
if (e.TaskResult == TaskResult.OK)
{
Contacts contacts = new Contacts();
contacts.SearchCompleted += OnContactsSearchCompleted;
contacts.SearchAsync(e.PhoneNumber, FilterKind.PhoneNumber, null);
}
}
private void OnContactsSearchCompleted(object sender, ContactsSearchEventArgs e)
{
if (e.Results != null)
{
var contactImg = e.Results.Select(x => x.GetPicture()).FirstOrDefault();
if (contactImg != null)
{
//do something with
}
}
}
不要忘记添加功能 ID_CAP_CONTACTS
答案 1 :(得分:0)
由于联系人照片不是属性,而是通过调用GetPicture方法检索,因此您需要一个自定义数据转换器来绑定它们。在此过程中,您将代码放在按钮单击事件中仅用于测试目的。在您自己的应用程序中,您可以在任何需要的地方访问联系人照片。 有关详细信息http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286418(v=vs.105).aspx