zoukankan      html  css  js  c++  java
  • Windows Phone 7 电话本相关的操作

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

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

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

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

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

      1 #define _SIMPLE_OUTPUT_PB_  
      2   
      3 using System;  
      4 using System.Collections.Generic;  
      5 using System.Linq;  
      6 using System.Net;  
      7 using System.Windows;  
      8 using System.Windows.Controls;  
      9 using System.Windows.Documents;  
     10 using System.Windows.Input;  
     11 using System.Windows.Media;  
     12 using System.Windows.Media.Animation;  
     13 using System.Windows.Shapes;  
     14 using Microsoft.Phone.Controls;  
     15   
     16 using Microsoft.Phone.UserData;  
     17 // using System.d  
     18 using Microsoft.Phone.Tasks;  
     19   
     20 namespace PhoneBookOp  
     21 {  
     22     public partial class MainPage : PhoneApplicationPage  
     23     {  
     24         // 构造函数  
     25         public MainPage()  
     26         {  
     27             InitializeComponent();  
     28         }  
     29  
     30 #if (_SIMPLE_OUTPUT_PB_)  
     31       // 注意啊,下面两个函数是不相同的。当时写的时候没有注意,大小区别。  
     32         void ContactsSearchCompleted(object sender, ContactsSearchEventArgs e)  
     33         {  
     34             foreach (var varResult in e.Results)  
     35             {  
     36                 System.Diagnostics.Debug.WriteLine("Name: " + varResult.DisplayName + "Phone number: " + varResult.PhoneNumbers.FirstOrDefault());  
     37                 listBox1.Items.Add(varResult.DisplayName + " " + varResult.PhoneNumbers.FirstOrDefault());  
     38             }  
     39         }  
     40         private void contactsSearchCompleted(object sender, ContactsSearchEventArgs e)  
     41         {  
     42             foreach (Contact contactResult in e.Results)  
     43             {  
     44                 string name = contactResult.DisplayName;  
     45                 ContactPhoneNumber phoneNumber = contactResult.PhoneNumbers.FirstOrDefault();  
     46                 string strPhone = string.Empty;  
     47                 if (null != phoneNumber)  
     48                 {  
     49                     strPhone = phoneNumber.PhoneNumber;  
     50                 }  
     51                 /*ContactAddress address = contactResult.Addresses.FirstOrDefault(); 
     52                 string strAddr = string.Empty; 
     53                 if (null != address) 
     54                 { 
     55                     strAddr = address.PhysicalAddress.AddressLine1;     // 此行未编译通过 System.Device 无法被 using 
     56                 }*/  
     57                 ContactEmailAddress emailAddress = contactResult.EmailAddresses.FirstOrDefault();  
     58                 string strEmail = string.Empty;  
     59                 if (null != emailAddress)  
     60                 {  
     61                     strEmail = emailAddress.EmailAddress;  
     62                 }  
     63                 // System.Diagnostics.Debug.WriteLine("Number:" + strPhone + ";Address:" + strAddr + ";EMail:" + strEmail);  
     64                 System.Diagnostics.Debug.WriteLine("Number:" + strPhone + ";EMail:" + strEmail);  
     65             }  
     66         }  
     67         void saveContactCompleted(object sender, SaveContactResult e)  
     68         {  
     69             switch (e.TaskResult)  
     70             {  
     71                 case TaskResult.OK:  
     72                     break;  
     73                 case TaskResult.Cancel:  
     74                     break;  
     75                 case TaskResult.None:  
     76                     break;  
     77                 default:  
     78                     break;  
     79             }  
     80         }  
     81   
     82         private void SearchPhoneBookClick(object sender, RoutedEventArgs e)  
     83         {  
     84             Contacts GetContacts = new Contacts();  
     85             GetContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(ContactsSearchCompleted);  
     86             GetContacts.SearchAsync(string.Empty, FilterKind.None, null);  
     87         }  
     88   
     89         private void SearchPhoneBookClick2(object sender, RoutedEventArgs e)  
     90         {  
     91             Contacts contacts = new Contacts();  
     92             contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contactsSearchCompleted);  
     93             contacts.SearchAsync(string.Empty, FilterKind.None, null);  
     94         }  
     95   
     96         private void AddPhoneBook(object sender, RoutedEventArgs e)  
     97         {  
     98             SaveContactTask saveContact = new SaveContactTask();  
     99             saveContact.Completed +=new EventHandler<SaveContactResult>(saveContactCompleted);  
    100   
    101             saveContact.FirstName = "Leo.Zheng";  
    102             saveContact.MobilePhone = "18665881061";  
    103             saveContact.HomeAddressStreet = "广东省深圳市";  
    104             saveContact.PersonalEmail = "doves@126.com";  
    105             saveContact.Show();  
    106         }  
    107 #else  
    108         void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e)  
    109         {  
    110             var ContactsData = from m in e.Results  
    111                                select new MyContacts  
    112                                    {  
    113                                        DisplayName = m.DisplayName,  
    114                                        PhoneNumber = m.PhoneNumbers.FirstOrDefault()  
    115                                    };  
    116             var MyContactsList = from contact in ContactsData   
    117                                  group contact by contact.DisplayName into c   
    118                                  orderby c.Key select new Group<MyContacts>(c.Key,c);       // 此句编译不通过  
    119             listBox1.ItemsSource = ContactsData;  
    120         }  
    121   
    122         public class MyContacts  
    123         {  
    124             public string DisplayName { get; set; }  
    125             public ContactPhoneNumber PhoneNumber { get; set; }  
    126         }  
    127 #endif  
    128     }  
    129 }  
  • 相关阅读:
    P4839 P哥的桶 题解(线段树维护线性基)
    线性基入门
    Lowest Common Ancestor 题解(lca+思维)
    B
    java string对象的简单方法
    AtCoder Grand Contest 016 D
    FFT
    回文自动机(BZOJ2565)
    二维RMQ
    AC自动机(BZOJ1030)
  • 原文地址:https://www.cnblogs.com/91program/p/5206251.html
Copyright © 2011-2022 走看看