Konfigurationsdateien schauen würden, sähen Sie natürlich einige Unterschiede.
Aber die Grundstruktur des Projekts ist, wie in Abbildung
2.6 zu sehen, der Struktur einer WPF-Anwendung sehr ähnlich.
Ergebnis einer Silverlight 2.0-Anwendung
Wenn Sie ein Silverlight-Projekt starten, verhält es sich anders als
eine WPF-Anwendung, denn es öffnet sich kein normales Programmfenster,
sondern ein Browserfenster. Der Adressleiste des
Browsers in Abbildung 2.7 können Sie den Namen der geöffneten
Datei entnehmen: Default.html.
Somit muss eine Silverlight-Anwendung noch aus mehr Dateien
bestehen als die, die über Expression Blend sichtbar sind.
Die Lösung ist direkt auf dem Dateisystem zu finden. Nach Klicken
mit der rechten Maustaste auf das Projekt im Projektpanel wird
ein Menüeintrag angeboten, der mit Öffnen mit Windows Explorer
betitelt ist. Er führt Sie zur Ablage des Projekts im Dateisystem.
Sie sehen einen Ordner \bin, darin einen Ordner \Debug. Er beinhaltet
die gesuchte Datei Default.html. Wenn Sie diese Datei über
die rechte Maustaste und den Menübefehl Öffnen mit mit dem Editor
oder Visual Studio öffnen, sehen Sie im HTML-Quelltext einen
Verweis auf eine Datei mit der Dateiendung .xap.
Abbildung 2.7: Eine
einfache Silverlight-Anwendung
im Internet Explorer
Listing 2.2: Der HTML-Quelltext, in welchem die Silverlight-Anwendung referenziert ist
Diese Datei und die generierte HTML-Datei sind das Ergebnis
des Silverlight-Projekts. Die »XAP«-Datei ist nichts weiter als eine
komprimierte ZIP-Datei, die HTML-Datei dient als Container, in
welchem die XAP-Datei eingebettet ist. Die anderen Dateien im
Ordner \bin\Debug haben somit keine Relevanz für die Ausführung
der Anwendung.
Sie können einfach die Dateiendung von .xap auf .zip umbenennen
und sehen den Inhalt Ihrer Anwendung. Dieser ist zunächst nichtssagend,
es ist nur eine Datei mit der Endung .dll zu sehen. In dieser
Datei sind alle Bestandteile Ihrer Anwendung in kompilierter Form
hinterlegt.
Sie können über Visual Studio über die Eigenschaft Buildvorgang
einzelne Dateien aus dem Kompilierungsprozess ausschließen, sodass
sie als »normale« Dateien in der XAP-Datei abgelegt werden.
Das eignet sich, um zum Beispiel Elemente erst bei Aufruf der
Anwendung zu generieren, mit in die XAP-Datei zu legen und in
der Anwendung zu verwenden.
Die Antwort auf die Frage warum das Ergebnis einer SilverlightAnwendung
anders ist als das einer WPF-Anwendung, liegt in der
grundsätzlichen Art, wie die beiden Anwendungsarten ausgeführt
werden. Das führt direkt zum folgenden Abschnitt »Unterschiede
zwischen WPF und Silverlight«.