Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
  • Showing Contact Details From Windows Phone 8.1 using C#

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 1
    • 0
    • 637
    Comment on it

    Open Visual Studio and select Windows Phone from Visual C# templates. From the available project types, select "Blank App(Windows Phone)" and click OK.


    Creating a Model

    Right click on project and add a new class file PhoneContact.cs. It contains the properties to hold the phone contact details, we are interested in.


    using Windows.UI.Xaml.Media.Imaging;
    public class PhoneContact
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public BitmapImage ContactImage { get; set; }

    Adding XAML in MainPage.xaml to show list of contacts

    Open MainPage.xaml file and replace the empty Grid inside the Page tag with following XAML.

    <ListBox x:Name="lbxContacts">
            <Style TargetType="ListBoxItem">
                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                <Grid Background="#0057A3" Height="80">
                        <ColumnDefinition Width="*"/>
                    <Image Grid.Column="0" Margin="0,4,0,4" Source="{Binding ContactImage}"/>
                    <StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Left">
                        <TextBlock VerticalAlignment="Center" Text="{Binding FirstName}" Foreground="White" FontSize="20" Padding="0,0,6,0"/>
                        <TextBlock VerticalAlignment="Center" Text="{Binding LastName}" Foreground="White" FontSize="20"/>


    Adding code in MainPage.xaml.cs to fetch contact details from phone

    Open MainPage.xaml.cs and add the following namespaces and code to get the contacts from the phone.

    using System;
    using System.Collections.Generic;
    using Windows.ApplicationModel.Contacts;
    using Windows.Storage;
    using Windows.UI.Xaml.Controls;
    using Windows.UI.Xaml.Media.Imaging;
    using Windows.UI.Xaml.Navigation;
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
        // List to hold phone contacts
        private List<PhoneContact> phoneContacts = new List<PhoneContact>();
        public MainPage()
            this.NavigationCacheMode = NavigationCacheMode.Required;
        /// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.
        /// This parameter is typically used to configure the page.</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
            // TODO: Prepare page for display here.
            // TODO: If your application contains multiple pages, ensure that you are
            // handling the hardware Back button by registering for the
            // Windows.Phone.UI.Input.HardwareButtons.BackPressed event.
            // If you are using the NavigationHelper provided by some templates,
            // this event is handled for you.
        private async void GetPhoneContacts()
            ContactStore contactStore = await ContactManager.RequestStoreAsync();
            IReadOnlyList<Contact> contacts = null;
            // Get all contacts
            contacts = await contactStore.FindContactsAsync();
            // Loop through each contact
            foreach (var item in contacts)
                if (!string.IsNullOrEmpty(item.FirstName))
                    BitmapImage bmp = null;
                    // Get the contact image
                    if (item.Thumbnail != null)
                        bmp = new BitmapImage(new Uri(((StorageFile)item.Thumbnail).Path));
                    var phoneContact = new PhoneContact()
                        FirstName = item.FirstName,
                        LastName = item.LastName,
                        ContactImage = bmp
                    // Add the contact detail to list
            // Setting the contact list as the datasource for ListBox lbxContacts
            lbxContacts.ItemsSource = phoneContacts;


    I have tested the above code in Emulator after adding some contact details and the final output is as shown in the following image.

    Hope you have enjoyed this article. :)

    Showing Contact Details From Windows Phone 8.1 using C#

 0 Comment(s)

Sign In

Sign up using

Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: