[WP] Afficher l’image d’un contact

Pour les besoins d’un projet il m’a fallu afficher les images des contacts de l’utilisateur.

L’objet Contact qui défini notre contact contient une méthode GetPicture() qui nous retourne en Stream son image. Nous pouvons donc soit l’enregistrer, soit faire un converter pour l’afficher directement !

Voici le code dans le cas du converter :

C#

public class ContactPictureConverter : IValueConverter
    {
        public object Convert(object value,
            Type targetType,
            object parameter,
            System.Globalization.CultureInfo culture)
        {
            Contact c = value as Contact;
            if (c == null) return null;

            System.IO.Stream imageStream = c.GetPicture();
            if (null != imageStream)
                return PictureDecoder.DecodeJpeg(imageStream);

            return null;
        }

        public object ConvertBack(object value, 
            Type targetType, 
            object parameter, 
            System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

Ce converter s’occupe de récupérer un stream représentant l’image du contact concerné et le retourne sous forme d’image.

Déclarez ensuite votre Converter dans votre fichier de ressources et ajoutez une image dans votre xaml avec dans la Source, le contact visé et ce converter :

<Image Source= »{Binding MyContact, Converter={StaticResource ContactPictureConverter}} » />

Par JC VASSELON

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s