Windows Phone 7 电话本相关的操作

来源:互联网 发布:php 异步请求网页 编辑:程序博客网 时间:2024/06/05 08:54

抽一点时间学习学习 WP7,由于自己的 C# 基础很差,加上工作的原因,所以学习的进度很慢。

慢就慢吧,慢慢来。呵呵....


这两个在 WP7 对电话本的编程进行学习,主要是读取电话本和操作电话。但发现在 WP7 下对电话本的操作太受限制了,不太适应。


以下代码,主要是读取电话本,和通过 SaveContactTask 新增电话本。网上说没有办法通过代码实现编辑、删除等操作,唉...

 以下代码中,有两处编译未通过。虽然不影响功能,但还是想知道为什么不行,以后有空继续吧。

#define _SIMPLE_OUTPUT_PB_using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using Microsoft.Phone.Controls;using Microsoft.Phone.UserData;// using System.dusing Microsoft.Phone.Tasks;namespace PhoneBookOp{    public partial class MainPage : PhoneApplicationPage    {        // 构造函数        public MainPage()        {            InitializeComponent();        }#if (_SIMPLE_OUTPUT_PB_)
// 注意啊,下面两个函数是不相同的。当时写的时候没有注意,大小区别。        void ContactsSearchCompleted(object sender, ContactsSearchEventArgs e)        {            foreach (var varResult in e.Results)            {                System.Diagnostics.Debug.WriteLine("Name: " + varResult.DisplayName + "Phone number: " + varResult.PhoneNumbers.FirstOrDefault());                listBox1.Items.Add(varResult.DisplayName + " " + varResult.PhoneNumbers.FirstOrDefault());            }        }        private void contactsSearchCompleted(object sender, ContactsSearchEventArgs e)        {            foreach (Contact contactResult in e.Results)            {                string name = contactResult.DisplayName;                ContactPhoneNumber phoneNumber = contactResult.PhoneNumbers.FirstOrDefault();                string strPhone = string.Empty;                if (null != phoneNumber)                {                    strPhone = phoneNumber.PhoneNumber;                }                /*ContactAddress address = contactResult.Addresses.FirstOrDefault();                string strAddr = string.Empty;                if (null != address)                {                    strAddr = address.PhysicalAddress.AddressLine1;     // 此行未编译通过 System.Device 无法被 using                }*/                ContactEmailAddress emailAddress = contactResult.EmailAddresses.FirstOrDefault();                string strEmail = string.Empty;                if (null != emailAddress)                {                    strEmail = emailAddress.EmailAddress;                }                // System.Diagnostics.Debug.WriteLine("Number:" + strPhone + ";Address:" + strAddr + ";EMail:" + strEmail);                System.Diagnostics.Debug.WriteLine("Number:" + strPhone + ";EMail:" + strEmail);            }        }        void saveContactCompleted(object sender, SaveContactResult e)        {            switch (e.TaskResult)            {                case TaskResult.OK:                    break;                case TaskResult.Cancel:                    break;                case TaskResult.None:                    break;                default:                    break;            }        }        private void SearchPhoneBookClick(object sender, RoutedEventArgs e)        {            Contacts GetContacts = new Contacts();            GetContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(ContactsSearchCompleted);            GetContacts.SearchAsync(string.Empty, FilterKind.None, null);        }        private void SearchPhoneBookClick2(object sender, RoutedEventArgs e)        {            Contacts contacts = new Contacts();            contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contactsSearchCompleted);            contacts.SearchAsync(string.Empty, FilterKind.None, null);        }        private void AddPhoneBook(object sender, RoutedEventArgs e)        {            SaveContactTask saveContact = new SaveContactTask();            saveContact.Completed +=new EventHandler<SaveContactResult>(saveContactCompleted);            saveContact.FirstName = "Leo.Zheng";            saveContact.MobilePhone = "18665881061";            saveContact.HomeAddressStreet = "广东省深圳市";            saveContact.PersonalEmail = "doves@126.com";            saveContact.Show();        }#else        void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e)        {            var ContactsData = from m in e.Results                               select new MyContacts                                   {                                       DisplayName = m.DisplayName,                                       PhoneNumber = m.PhoneNumbers.FirstOrDefault()                                   };            var MyContactsList = from contact in ContactsData                                  group contact by contact.DisplayName into c                                  orderby c.Key select new Group<MyContacts>(c.Key,c);       // 此句编译不通过            listBox1.ItemsSource = ContactsData;        }        public class MyContacts        {            public string DisplayName { get; set; }            public ContactPhoneNumber PhoneNumber { get; set; }        }#endif    }}


原创粉丝点击