Je vous propose un petit retour d’expérience sur l’utilisation des ressources dans le développement Windows Phone dans un modèle M-V-VM.
Différentes façon de coder
L’image que l’on souhaite afficher provient des ressources et devrait pouvoir s’afficher à travers une propriété Image de type BitmapImage dans un ViewModel. A noter que le dans l’exemple ci dessous, UIThreadPool permet d’afficher cette image même lorsque celle-ci est alimentée depuis un Thread qui tourne en tâche de fond.
SynchronizationContext UIThread = SynchronizationContext.Current;
public BitmapImage Image
{
get { return _image; }
set
{
UIThread.Post(_ =>
{
_image = value;
RaisePropertyChanged("Image");
}, null);
}
}
Comment afficher une image incluse dans les ressources de l’application ?
Attention les 2 premières méthodes décrites sont à proscrire et à ne surtout pas reproduire. Allez jusqu’à la fin de l’article pour voir comment implémenter correctement l’affichage d’une image ressource. Poursuivre la lecture