Dienstag, 18. Oktober 2011

Windows Phone 7 - Image Source im Codebehind zuweisen

Das Silverlight-Control Image dient als Container für ein anzuzeigendes Bild. Im XAML kann ich das Bild zum Beispiel so referenzieren:


<Image Source="NoConnect.jpg" x:Name="ImageIPCam1"/>
<Image Source="http://www.it4zwigge.de/icons/ipcam1.jpg" x:Name="ImageIPCam2"/>

Im Codebehind lässt sich allerdings nicht so einfach einen String zuweisen. Der Versuch...


ImageIPCam2.Source = "http://www.it4zwigge.de/icons/ipcam2.jpg";

... schlägt fehl, weil als Source kein String sondern ein ImageSource-Objekt (Bitmap) verlangt wird.

Eine kleine Funktion schafft hier Abhilfe:


private BitmapImage String2Bmp(String source)
{
Uri uri = new Uri(source, UriKind.RelativeOrAbsolute);
BitmapImage bmp = new BitmapImage(uri);

return bmp;
}

Die man z.B. so aufrufen kann:


ImageIPCam2.Source = String2Bmp("http://it4zwigge.de/icons/ipcam2.jpg");

Keine Kommentare:

Kommentar veröffentlichen