Floating FB popout byF5debug

101 How to on Windows Phone – How to #60 – Programmatically get a contact photo in Windows Phone

 

In this article we are going to see how to programmatically access the contact database and search for a contact photo to be used in a Windows Phone application development. So to access the contact information, we need to create an instance of the Contact object and get the information that are required to be shown in the application. Since we need to access the photo of the contact, we will create a new Bitmap image and set it source to get the picture from the contact object. Let us see the steps on achieving this task, Open Visual Studio 2012 IDE and create a new Windows Phone project with a valid project name as shown in the screen below.      [more]

image


Clicking on OK will create the project and the solution with the list of default files and folders that are required to run the application. It will take some time to create these files based on your system configuration, so once everything is ready we can see the Visual Studio IDE with the project as shown in the screen below.

image


Now let us add some control which basically triggers an event to call the Contact class and get the photo of a contact which we require to be shown in our application. But basically since we are going to run the application locally in the emulator we will not have any photo assigned for any contacts, so to check the application effectively run the application in the device.

image


XAML Code:

[code:c#]

<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="F5debug How to Series" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="Photo" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button Content="Get Contact Image" HorizontalAlignment="Left" Margin="51,29,0,0" VerticalAlignment="Top" Width="353" Click="Button_Click"/>
            <Image HorizontalAlignment="Left" Height="307" Margin="69,123,0,0" VerticalAlignment="Top" Width="319"/>

        </Grid>

[/code]


Now in the code behind add the below code which basically creates an instance of the Contact class and do a Asynchronous contact search. Basically we will try to get the first contact from the search and set its source to get the picture that we need to show it in the application as shown in the code below.

C# Code:

[code:c#]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using F5debugHowto60.Resources;
using Microsoft.Phone.UserData;
using System.Windows.Media.Imaging;

namespace F5debugHowto60
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();

        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Contacts cCont = new Contacts();

            cCont.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(Contacts_SearchDone);
            cCont.SearchAsync(String.Empty, FilterKind.DisplayName, "F5debug");
        }

        void Contacts_SearchDone(object sender, ContactsSearchEventArgs e)
        {
            try
            {
                Contact conts = e.Results.First();

                BitmapImage img = new BitmapImage();
                img.SetSource(conts.GetPicture());

                imgPicture.Source = img;
            }
            catch (Exception)
            {
            }
        }
    }
}

[/code]

image

Now we are done with our configuration, just run the application by pressing F5 directly from the keyboard or we can use the Build and execute the project option from the tool bar to run the application. Once the Build is successful we can see the Windows Phone emulator with the application and the expected outputs.

About Author: Karthikeyan Anbarasan, Microsoft MVP (Most Valuable Professional) in ASP.NET/IIS Architecture. He is the Founder and Chief Editor of the www.f5debug.net website and has authored books on Windows Phone and Business Intelligence(SSIS). He is also a Passionate Speaker and a Blogger on Microsoft Technologies.

You can Join Me On: Facebook, Twitter, Google Plus, LinkedIn

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Recent Posts

Random Posts

Most Viewed

URL Shortner

Create your own short urls!!!

Site Counter

free counters

Disclaimer

This is a personal weblog. The opinions expressed here represent my own and not those of my employer. For accuracy and official reference refer to MSDN/ TechNet. I have documented my personal experience on this blog.

Protected by Copyscape Web Plagiarism Finder

Site Meter