Allgemein, Windows Phone 7, wp7dev

Kontaktbilder

Windows Phone 7.5 bietet ja nun die Möglichkeit über die Contacts Klasse auf die Kontakte zuzugreifen. Für einen speziellen Anwendungsfall wollte ich jedoch nur Kontakte anzeigen, die ein „gültiges“ Profilbild besitzen. Ein dementsprechendes Suchkriterium gibt es derzeit nicht, aber eigentlich sollte der Rückgabewert von Contact.GetPicture() ja null sein, wenn der Kontakt kein Bild besitzt. Leider machte mir an dieser Stelle Facebook einen Strich durch die Rechnung, da es für den Fall der Fälle* Standardbilder verwendet, welche dann auch auf das Windows Phone synchronisiert werden. Bisher wüsste ich allerdings nur von einem Standardbild pro Geschlecht, also ist dies noch relativ überschaubar und dementsprechend einfach mit dem Kontaktbild zu vergleichen. Um mir das Leben zu vereinfachen habe ich eine einfache Extension Methode erstellt, die als Rückgabewert den jeweiligen Bildtypen enthält. Verwendet werden könnte die Methode wie folgt:

void kontakte_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
//Neue Liste erstellen
List<Contact> filter = new List<Contact>();
foreach (Contact con in e.Results)
{
//Erweiterungsmethode
switch(con.GetPictureType())
{
case ContactPictureType.None:
case ContactPictureType.DefaultFemale:
case ContactPictureType.DefaultMale:
default:
break;
case ContactPictureType.Custom:
//Der Liste hinzufügen
filter.Add(con);
break;
}
}
//Datenbindung
listBox1.DataContext = filter;
}

Download der Extension-Methode

– Patrick

* Profile ohne richtiges Profilebild sollten auf Facebook verboten werden

Advertisements