In Silverlight 2 Projekten erzeugt Visual Studio zwei Dateien für das Hosting des Silverlight Plugin’s. Eine ASPX die bei F5 aufgerufen wird und eine HTML die man per “View in Browser” starten kann. Das ist bei Silverlight 3 auch so, nur hat Microsoft nun auf das ASP.NET Silverlight Server Control verzichtet das in der ASPX Seite verwendet wurde. Statt dessen wird nun einheitlich per Object Tag Das Silverlight Plugin eingebettet. Früher gab es auch noch eine Jscript Methode.
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightApplication1.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40623.0" />
Das wäre nicht weiter schlimm, wenn es da in dem ASP.NET Control nicht ein Attribut (Scalemode) gegeben hätte, das es erlaubt den Inhalt (XAML) mit der Größe des Browser Fensters mit zu zoomen. Das Object Element kann das nämlich nicht. Im Klartext: Silverlight 3 kann etwas nicht, was Silverlight 2 kann. Das ASP.NET Server Control funktioniert aber noch unter SL3. Man muss nur die Datei System.Web.Silverligth.DLL ins BIN Verzeichnis kopieren.
Dafür gibt es ein cooles Neues Feature das auch vom Object Element direkt verwendet werden kann.
<param name="enableautozoom" value="true"/>
Mit Enable Autozoom vergrößert die Silverlight Anwendung mit der Skalierung des Browsers mit.
Linear Größe, Schriften und Grafiken!