2016-07-27 15 views
1

WebBrowserコントロールのスクロールバーの幅を変更しようとしています。WPF - Webブラウザのスクロールバーの幅を設定する

私はこのようにそのScrollViewer変更するには、次のthis答えてみました:

<WebBrowser Grid.Row="0" Grid.RowSpan="5" Grid.Column="0" Height="1993" Margin="3,3,0,3"> 
    <ScrollViewer> 
     <ScrollViewer.Resources> 
      <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">100</sys:Double> 
     </ScrollViewer.Resources> 
    </ScrollViewer> 
</WebBrowser> 

をしかし、私はThe type 'WebBrowser' does not support direct content、エラーを取得しています。

私はWebBrowserWPFはちょうどWinForm'sのラッパーであると知っています。私はこのエラーが発生していると推測しています。

CefSharpや他のブラウザなどの外部コンポーネントは使用しません。

ネイティブを使用することは可能ですかWebBrowser

おかげ

+0

どのスクロールバーをカスタマイズしますか?ページのスクロールバーはページに属しており、それらを変更する唯一の方法はCSSを使用することです。 –

+0

私はAdobe Readerを使用してPDFを表示するためにブラウザを使用していますが、スクロールバーはWebブラウザのものです –

答えて

0

は、WPF WebBrowser制御は、実際に内部でネイティブWebブラウザーのActiveXコントロールをラップします。それは本当に答えを変えるわけではありませんが、知ることは良いことです。

Reza Aghaeiが既にコメントしたように、スクロールバーはWPFコントロールではなく、WPFアプリケーション内の他のスクロールバーのように変更することはできません。しかし、私はスタイリングだけ着色に限定されているので、あなたは、CSSを使用してIEのスクロールバーの幅を変えることができるとは思わない:

scrollbar-base-color: #C0C0C0; 
scrollbar-base-color: #C0C0C0; 
scrollbar-3dlight-color: #C0C0C0; 
scrollbar-highlight-color: #C0C0C0; 
/* etc */ 

2つの可能性が頭に浮かぶ。スクロールバーをカスタマイズできるjQueryスクロールバーライブラリのいずれかを使用するか、ネイティブWPF ScrollBarを代わりに使用します。

jQueryスクロールバーを使用すると、ユーザーが訪れる各ページにjavascriptを挿入する必要があり、Webサイトに既にカスタムjQueryスクロールバーが使用されていると、実際には汚れてしまうことがあります。これは調べる価値があるかもしれませんが、実際には十分にうまくいくかどうかは疑問です。

は、ここで私は

  1. は、各ページのボディにoverflow:hiddenスタイルを与えることで、スクロールバーを非表示にしようとするものです。 コントロール内にWindowsフォームWebBrowserをホストすることもできます(ScrollBarsEnabledプロパティにアクセスできるようになります(残念ながらWPFコントロールでは利用できません)。
  2. WebBrowserの横にWPF ScrollBarを追加して、スタイルを変更します。これは、将来の再利用性を保証するために、実際にはUserControlになる可能性があります。
  3. WPF ScrollBarの最大値をHTMLページのScrollHeightに設定します。
  4. WPF ScrollBarのスクロールイベントを購読します。スクロールイベントをHTMLページに送信します。また、WPFをタッチ、マウスホイール、またはキーボードボタンを使用してスクロールして同期させるために、別の方法で行う必要があります。

私は現在コンピュータには載っていないので、3番と4番の数字は手に入れられませんが、確かに可能です。もう一度、いくつかのカスタムスクロール(jQuery)を使用するページを実行することができますが、うまくいけば、これが始まります。

+0

本当にあなたの答えに感謝します。私は明日それを調べます。私はHTMLを表示しないので、今でも動作します。 Acrobat Readerを使用してPDFビューアとしてのみ使用されます –

関連する問題