L'estensione dell'area occupata dal plugin è definita attraverso le proprietà Height e Width dell'elemento OBJECT ed EMBED dichiarati nell'html della pagina:
<div id="divSilverlightPlugInHost"> <object type="application/x-silverlight" id="FirstSilverlightControl" width="640" height="480"> <param name="background" value="#CCCCCC" /> <param name="source" value="#Scene1xaml" /> <embed type="application/x-silverlight" width="640" height="480" background="#CCCCCC" source="#Scene1xaml" /> </object> </div>
È possibile impostare questi valori anche utilizzando i corrispondenti parametri delle funzioni helper Silverlight.createObject e Silverlight.createObjectEx documentate nell'SDK di Silverlight:
<script type="text/javascript"> function createSilverlight() { Silverlight.createObjectEx({ source: '#Scene1xaml', parentElement:parentElement, id:'myPlugin', properties:{ width:'100%', height:'100%', inplaceInstallPrompt:false, background:'Black', isWindowless:'false', framerate:'24', version:'1.0'}, events:{ onError:null, onLoad:Plugin_onLoad }, initParams:null, context:null}); } </script>
Le due proprietà accettano sia valori assoluti espressi in pixel che grandezze percentuali rispetto all'area occupata dall'oggetto al cui interno è contenuto il plugin; impostando entrambi questi valori a 100% l'intera area visibile del browser sarà occupata dalla nostra scena e sarà disponibile per animazioni coreografiche o, ad esempio, per una completa gestione in Silverlight delle immagini di sfondo del sito.
Per equiparare il comportamento dei browser Internet Explorer e Firefox è necessario specificare l'ingombro dell'oggetto al cui interno è renderizzato il plugin impostando gli opportuni attributi nello stile:
<div id="divSilverlightPlugInHost" style="bottom:0px; left:0px; position:absolute; right:0px; top:0px;"> <script type="text/javascript"> var parentElement = document.getElementById("divSilverlightPlugInHost"); createSilverlight(); </script> </div>
In questo esempio il div divSilverlightPlugInHost avrà un posizionamento assoluto rispetto alla pagina e non avrà margini rispetto alla stessa.
È importante notare che questa configurazione imposta solo l'ingombro del plugin, il Canvas principale (il Root) manterrà le proprie dimensioni definite nel codice.
È possibile conoscere l'area del plugin effettivamente occupata attraverso le proprietà ActualWidth e ActualHeight dell'oggetto content del plugin stesso.

Ecco il risultato: https://www.silverlightitalia.com/script/demo/2/
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare l'API del browser fetch
Sottoscrizione agli eventi sul contenitore in JavaScript
Utilizzare il tag HTML template
Utilizzo di Set e Array in JavaScript
Gestire gli errori di caricamento delle immagini
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
3 metodi JavaScript che ogni applicazione web dovrebbe contenere - Parte 2
Organizzare i moduli sfruttando CommonJS
Utilizzare flat e flatMap per appiattire array innestati in array
Confronto tra moduli in Javascript: ES e commonJS
Gestire condizioni complesse in JavaScript
I più letti di oggi
- Rilasciata la Beta 2 di Visual Studio 2008
- Specificare il versioning nel path degli URL in ASP.NET Web API
- Cancellare un utente NT con ADSI
- RT @dbochicchio chi ha detto una maglietta di #html5 a tutti i partecipanti? :) http://yfrog.com/gyiqkuhj #RCD6 e non è tutto... :)
- ecco novità e funzionalità aggiunte a #win81 e #wp81 per gli scenari enterprise: https://aspit.co/atq #bldwin