2011-01-29 13 views
6

Ho una semplice applicazione Silverlight e ho bisogno di aggiungere le barre di scorrimento del browser web per questo. (non barre di scorrimento all'interno del mio silverlight app)Problema di barre di scorrimento del browser con l'applicazione silverlight. (Html)

così ho html:

<style type="text/css"> 
html, body { 
    height: 100%; 
    overflow: auto; 
} 
body { 
    padding: 0; 
    margin: 0; 
} 
#silverlightControlHost { 
    height: 100%; 
    min-height:600px; 
    min-width:800px; 
    text-align:center; 
} 
</style><body> 
<form id="form1" runat="server" style="height:100%"> 
<div id="silverlightControlHost"> 
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">  
     <param name="source" value="ClientBin/Infopulse.MobileOptimizer.xap"/>   
     <param name="onError" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="4.0.50401.0" /> 
     <param name="autoUpgrade" value="true" />  
     <param name="culture" value="ru-ru" /> 
     <param name="uiculture" value="ru-ru" /> 
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none"> 
      <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 
     </a> 
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> 
</form> 
</body> 

E ho affrontato con problema successivo: barra di scorrimento verticale funziona non correttamente quando la barra di scorrimento è abilitata applicazione Silverlight non si adatta il contenuto di pagina. (La freccia rossa sullo schermo mostra l'area senza applicazione Silverlight) Non so come risolvere questo problema. La larghezza si adatta normalmente. All'interno del contenuto delle applicazioni Silverlight impostato per allungare

Image: Problem with scroll bars

sarò grato per qualsiasi informazione

enter image description here

risposta

8

abbiamo avuto lo stesso problema in IE e Chrome e risolto utilizzando Javascript:

  1. Aggiungere il seguente Javascript per la pagina di test Silverlight.

    window.onload = resizeObject; 
    window.onresize = resizeObject; 
    function resizeObject() { 
        var height = document.getElementById('silverlightControlHost').offsetHeight; 
        document.getElementById('silverlightObject').height = height; 
    } 
    
  2. Assegna al tag OBJECT l'ID 'silverlightObject'.

    <object id="silverlightObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
    </object> 
    
  3. Testarlo.

+0

Un collega mi ha detto che abbiamo anche dovuto ridimensionare la larghezza per evitare di ottenere barre di scorrimento orizzontali. – Jedidja

2

Hai provato mettendo un overflow: auto; in div #silverlightControlHost stile? e rimuovere la proprietà da HTML, corpo

+1

no. Lo proverò ora. – Evgeny

+1

Proprio lo stesso problema! – Evgeny

+1

Ok, forse ho sbagliato la domanda ... Cosa stai cercando di ottenere? vuoi il div #silverlightControlHost per scorrere secondo le dimensioni dell'oggetto incorporato, vero? –

2

I min-height e min-width valori nei #silverlightControlHost css guardare un sospetto grande rispetto alla schermata.

Hai provato cambiando i loro valori (o rimuovere del tutto) come un test per vedere se essa riguarda il display?

Se il tuo div è più grande della finestra del browser (che dal tuo commento sembra essere), allora questo spiegherebbe le barre di scorrimento. Riduci le dimensioni minime dello div (se puoi).

+1

Lo schermo è stato bloccato quando la dimensione minima era 640x480. Senza valori minimi l'applicazione sembra perfetta ma senza barre di scorrimento ...E la larghezza funziona normalmente (solo una pagina di contenuto bianco all'interno dell'app silverlight)! Con l'altezza ho avuto il problema – Evgeny

+1

@Evgeny - che spiegherebbe. Il tuo div è più grande della dimensione dello schermo, quindi le barre di scorrimento. – ChrisF

+1

Scusa, non capisco. Ho bisogno di barre di scorrimento per la mia applicazione, ma la barra di scorrimento verticale (altezza) ritaglia l'applicazione Silverlight e posso scorrere ma l'applicazione viene ritagliata ... – Evgeny

1

sono riuscito a risolverlo usando i CSS solo, con l'aggiunta di solo questi linea CSS al mio sito:

body 
{ 
    padding:0px; 
    margin:0px; 
    overflow:hidden; 
} 

.silverlightControlHost 
{ 
    height:100%; 
} 

html, body 
{ 
    height: 100% 
} 

E, naturalmente, assumendo che il div tenendo l'oggetto html Silverlight ha la classe assegnata ' silverlightControlHost '

Problemi correlati