2011-01-29 16 views
6

Tengo una aplicación Silverlight simple y necesito agregar las barras de desplazamiento del navegador web para ella. (no barras de desplazamiento dentro de mi aplicación Silverlight)Problema en las barras de desplazamiento del navegador con la aplicación Silverlight. (Html)

Así que tienen 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> 

Y me enfrenté con el siguiente problema: barra de desplazamiento vertical funciona no correctamente cuando la barra de desplazamiento está activada la aplicación Silverlight no se ajusta el contenido de página. (La flecha roja en la pantalla muestra el área sin la aplicación Silverlight) Ahora no sé cómo resolver este problema. El ancho se adapta normalmente. Dentro de contenido de la aplicación Silverlight establecido para estirar

Image: Problem with scroll bars

estaré agradecido por cualquier información

enter image description here

Respuesta

8

tuvimos el mismo problema en IE y Chrome y lo resolvió con Javascript:

  1. Añadir la siguiente Javascript para la página de prueba de Silverlight.

    window.onload = resizeObject; 
    window.onresize = resizeObject; 
    function resizeObject() { 
        var height = document.getElementById('silverlightControlHost').offsetHeight; 
        document.getElementById('silverlightObject').height = height; 
    } 
    
  2. Déle a su etiqueta OBJECT la ID 'silverlightObject'.

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

+0

Un compañero de trabajo me mencionó que también teníamos que cambiar el tamaño del ancho para evitar barras de desplazamiento horizontales. – Jedidja

2

Ha intentado poner un overflow: auto; en el estilo div #silverlightControlHost? y quitar la propiedad de html, body

+1

no. Voy a tratar ahora. – Evgeny

+1

¡Solo el mismo problema! – Evgeny

+1

Ok, tal vez tengo la pregunta equivocada ... ¿Qué estás tratando de lograr? ¿Quieres que div #silverlightControlHost se desplace de acuerdo con las dimensiones del objeto incrustado, ¿o sí? –

2

Los min-height y min-width valores en sus #silverlightControlHost css un vistazo sospechosamente grande en comparación con la captura de pantalla.

¿Ha intentado cambiar sus valores (o eliminarlos por completo) como prueba para ver si afectan a la pantalla?

Si su div es más grande que la ventana de su navegador (que a partir de su comentario parece ser) entonces eso explicaría las barras de desplazamiento. Haga las dimensiones mínimas de div más pequeñas (si puede).

+1

En la pantalla se tomó cuando el tamaño mínimo era 640x480. Sin valores mínimos la aplicación se ve perfecta pero sin barras de desplazamiento ...Y el ancho funciona normalmente (¡solo la página de contenido en blanco dentro de la aplicación Silverlight)! Con la altura tuve el problema – Evgeny

+1

@Evgeny - eso lo explicaría. Su div es más grande que el tamaño de la pantalla, de ahí las barras de desplazamiento. – ChrisF

+1

Lo siento, no lo entiendo. Necesito barras de desplazamiento para mi aplicación, pero la barra de desplazamiento vertical (altura) corta la aplicación Silverlight y puedo desplazarme pero la aplicación está recortada ... – Evgeny

1

que lograron resolverlo usando CSS solamente, añadiendo sólo estos línea de CSS a mi sitio:

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

.silverlightControlHost 
{ 
    height:100%; 
} 

html, body 
{ 
    height: 100% 
} 

Y, por supuesto, asumiendo que el div que sostiene el objeto HTML Silverlight tiene la clase asignada ' silverlightControlHost '

Cuestiones relacionadas