Ein Silverlight Image einbinden

Ein Image muss kein Image sein. Das hab ich jedenfalls bei Silverlight 2.0 gelernt. Ein Image Element kann man in Expression Blend einfach per Drag and Drop aus dem Projekt Explorer erstellen.

image

Das erzeugte XAML sieht so aus.

<Image Height="59" Margin="0,8,8,0" VerticalAlignment="Top" 
Source="ppedv_logo_170px[1].png" Stretch="Fill" Width="170"
HorizontalAlignment="Right"/>

Das funktioniert zwar, aber nur deshalb weil wenn man eine Datei in den Projekt Explorer von Visual Studio 2008 oder Expression Blend einfügt, wird diese als Resource eingebunden.

 imageimage

Wenn man in den Eigenschaften der Datei eine andere Option wählt wie z.B. None oder Content wird man zur Laufzeit eine unschöne Fehlermeldung erhalten (AG_E_NETWORK_ERROR)

image

Dann versucht Silverlight die Datei vom Webserver nachzuladen und zwar von dem Ort an dem sich die xap Datei befunden hat. Das Verzeichnis heist per Default clientbin.  Wenn man die Grafik Datei dorthin kopiert bzw auf das passende Unterverzeichnis funktioniert es wieder und das Image ist im Browser dank Silverlight Plugin sichtbar.

Falls das Image im xap Packet als Resource und im clientbin Verzeichnis identisch vorhanden ist, wird das aus dem xap Paket genommen.

Kommentar schreiben