下面用一个例子来测试一下获取手机用户的通讯录的信息。
MainPage.xaml文件
- <ListBox Name="ContactResultsData" ItemsSource="{Binding}" >
- <ListBox.ItemTemplate>
- <DataTemplate>
- <StackPanel>
- <TextBlock Text="{Binding DisplayName}" />
- <!--电话号码-->
- <ListBox ItemsSource="{Binding PhoneNumbers}">
- <ListBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="{Binding PhoneNumber}" />
- </StackPanel>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- <!--邮箱-->
- <ListBox ItemsSource="{Binding EmailAddresses}">
- <ListBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="{Binding EmailAddress}"/>
- </StackPanel>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- <!--地址信息-->
- <ListBox ItemsSource="{Binding Addresses}">
- <ListBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <StackPanel>
- <TextBlock Text="{Binding PhysicalAddress.AddressLine1}"/>
- <TextBlock Text="{Binding PhysicalAddress.City}"/>
- </StackPanel>
- </StackPanel>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- </StackPanel>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
MainPage.xaml.cs文件
- using Microsoft.Phone.Controls;
- using Microsoft.Phone.UserData;
- namespace contactstest
- {
- public partial class MainPage : PhoneApplicationPage
- {
- private Contacts contacts;
- public MainPage()
- {
- InitializeComponent();
- contacts = new Contacts();
- contacts.SearchCompleted += contacts_SearchCompleted;
- contacts.SearchAsync("", FilterKind.DisplayName, "查询联系人");
- }
- //通讯录搜索完成事件处理
- void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
- {
- ContactResultsData.DataContext = e.Results;
- }
- }
- }
运行的效果:
转载于:https://blog.51cto.com/linzheng/1078503