当前位置: 代码迷 >> Windows Mobile >> WP8来电通的联系人页面是怎么做到的
  详细解决方案

WP8来电通的联系人页面是怎么做到的

热度:28   发布时间:2016-04-25 07:17:58.0
WP8来电通的联系人页面是如何做到的
就是模仿手机本地通讯录页面,有API可以用吗?
------解决方案--------------------
不知道 LZ 是否是想要这个?


/*
 * 演示如何获取设备中的联系人数据
 * 
 * Contacts - 用于获取联系人数据的类
 *     Accounts - 联系人数据可能来自用户的不同帐户,Accounts 就是用来获取这个不同账户的,即数据源集合(只读属性,返回 Account 对象的集合)
 *     SearchAsync(string filter, FilterKind filterKind, object state) - 开始异步搜索联系人数据
 *         string filter - 筛选关键字
 *             当 filterKind 设置为 DisplayName, EmailAddress, PhoneNumber 时指定筛选关键字
 *             当 filterKind 设置为 None, PinnedToStart 时此值无用,直接写 String.Empty 就好
 *         FilterKind filterKind - 筛选器的类别(Microsoft.Phone.UserData.FilterKind 枚举)
 *             FilterKind.None - 返回全部联系人数据
 *             FilterKind.PinnedToStart - 返回已固定到开始屏幕的联系人数据
 *             FilterKind.DisplayName - 按名称搜索
 *             FilterKind.EmailAddress - 按 email 地址搜索
 *             FilterKind.PhoneNumber - 按电话号码搜索
 *         object state - 异步过程中的上下文
 *     SearchCompleted - 搜索完成时所触发的事件(事件参数 ContactsSearchEventArgs)
 * 
 * ContactsSearchEventArgs
 *     Filter - 筛选关键字
 *     FilterKind - 筛选器的类别
 *     Results - 返回搜索结果,Contact 对象的集合
 *     State - 异步过程中的上下文
 *     
 * Contact - 联系人
 *     Accounts - 与此联系人关联的数据源集合
 *    Addresses - 与此联系人关联的地址数据集合
 *    Birthdays - 与此联系人关联的生日数据集合
 *    Children - 子女
 *    Companies - 公司
 *    CompleteName - 联系人全称(包含诸如名字、职称和昵称之类的信息)
 *    DisplayName - 显示名称
 *    EmailAddresses - email 地址
 *    IsPinnedToStart - 是否固定到了开始屏幕
 *    Notes - 备注
 *    PhoneNumbers - 电话号码
 *    SignificantOthers - 与此联系人关联的重要他人
 *    Websites - 网站
 * 
 * Account - 账户
 *     Name - 账户名称
 *     Kind - 账户的种类(Microsoft.Phone.UserData.StorageKind 枚举)
 *         Phone, WindowsLive, Outlook, Facebook, Other
 */

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;

namespace Demo.ContactsAndCalendar
{
    public partial class ContactsDemo : PhoneApplicationPage
    {
        public ContactsDemo()
        {
            InitializeComponent();
        }

        private void btnGetData_Click(object sender, RoutedEventArgs e)
        {
            // 实例化 Contacts,注册相关事件
            Contacts contacts = new Contacts();
            contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted);

            // 指定搜索内容及搜索方式,开始异步搜索联系人信息
            contacts.SearchAsync(String.Empty, FilterKind.None, null);

            lblMsg.Text = "数据加载中,请稍后。。。";
            btnGetData.IsEnabled = false;
        }

        void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
  相关解决方案