2011-01-29 7 views
6

私は単純なSilverlightアプリケーションを持っており、Webブラウザのスクロールバーを追加する必要があります。 (私のSilverlightアプリ内のスクロールバーではない)Silverlightアプリケーションのブラウザスクロールバーの問題(Html)

は、だから私は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> 

を、私は次の問題に直面: 垂直スクロールバーは、スクロールバーがSilverlightアプリケーションを有効になっている場合ではない正しく動作しない内容に適合しますページ。 (画面上の赤い矢印は、銀色のアプリケーションなしの領域を示しています)私は今この問題を解決する方法はありません。 幅は通常通りです。ストレッチするように設定Silverlightアプリケーションのコンテンツの内側

画像: Problem with scroll bars

私は

enter image description here

答えて

8

私たちは、IEとChromeで同じ問題を抱えていたとJavascriptを使用して、それを解く:

  1. はあなたのSilverlightのテストページに次のJavaScriptを追加します。

    window.onload = resizeObject; 
    window.onresize = resizeObject; 
    function resizeObject() { 
        var height = document.getElementById('silverlightControlHost').offsetHeight; 
        document.getElementById('silverlightObject').height = height; 
    } 
    
  2. あなたのOBJECTタグにID「silverlightObject」を付けます。

    <object id="silverlightObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
    </object> 
    
  3. テストします。

+0

横のスクロールバーが表示されないように、幅をリサイズしなければならないと私に言いました。 – Jedidja

2

は、あなたがオーバーフロー入れてみましたているすべての情報については感謝するでしょう:自動; div #silverlightControlHostスタイルでは? とあなたのスクリーンショットと比較すると、あなたの#silverlightControlHost CSSのmin-heightmin-width値は疑い深く大きな見えるボディ

+1

いいえ。私は今それを試してみます。 – Evgeny

+1

ちょうど同じ問題です! – Evgeny

+1

さて、私は間違った質問をしています。何を達成しようとしていますか? div #silverlightControlHostを埋め込みオブジェクトの寸法に従ってスクロールしますか? –

2

、HTMLからプロパティを削除します。

表示に影響するかどうかを確認するために、値を変更したり、すべて削除したりしましたか?

あなたのdivがあなたのブラウザウィンドウ(あなたのコメントから見えるもの)より大きい場合、それはスクロールバーを説明するでしょう。 divの最小寸法を小さくしてください(可能な場合)。

+1

最小サイズが640x480のときに画面がタークされました。最小値なしでアプリケーションはスクロールバーなしで完璧に見えます...そして幅は正常に機能します(シルバーライトのアプリケーションの中の白いコンテンツページ)!高さに私は問題があった – Evgeny

+1

@Evgeny - それはそれを説明するでしょう。あなたのdivは画面のサイズよりも大きいので、スクロールバーです。 – ChrisF

+1

申し訳ありませんが、私はそれを取得しません。私のアプリケーションにはスクロールバーが必要ですが、垂直スクロールバー(高さ)はSilverlightアプリケーションを作ってスクロールすることはできますが、アプリケーションは切り取られます。 – Evgeny

1

私は自分のサイトにのみこれらのCSSの行を追加して、唯一のCSSを使用してそれを解決するために管理:

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

.silverlightControlHost 
{ 
    height:100%; 
} 

html, body 
{ 
    height: 100% 
} 

そしてもちろんのSilverlightのHTMLオブジェクトを保持しているのdivは、クラスが割り当てられていると仮定 " silverlightControlHost '

関連する問題