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
Gestire progetti NPM in .NET Aspire
Implementare il throttle in JavaScript
Gestire il ciclo di vita di AbortController in Javascript
Evitare memory leaks nelle closure JavaScript
Gestire codice JavaScript con code splitting e lazy loading
Gestire progetti .NET + React in .NET Aspire
Gestire gli errori nelle Promise JavaScript con try()
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Operazioni tra insiemi di array in Javascript
Creare una cache temporanea in JavaScript
Utilizzare noopener e noreferrer nei link HTML
I più letti di oggi
- Running workloads and operations with Azure Kubernetes Service
- .@scottgu sottolinea come #vs live share funzioni anche in situazioni ibride #VSCode e #VS2017, con sistemi operativi differenti.la preview sarà disponibile a partire da oggi #MSFTConnect
- Future Dev Day - Milano
- Global Azure 2026 - ASPItalia.com - Milano
- Rilasciato il Service Pack 3 di SQL Server 2005
- Windows Azure SDK si aggiorna alla versione 1.3
- Windows Phone 7 Mango il 24 maggio a New York. A seguire i nuovi tool?
- Rilasciata una preview di Windows Phone SDK 7.1.1 per Tango




