2016-09-23 14 views
1

奇妙なものがあります。私はscrollviewerの中でwebviewを使用しています(私はそれをスクロールするwebviewの上にstackpanelを持つことができます)と私のソリューションはデスクトップPCとタブレット(マウスとタッチの両方を使用して)上で正常に動作しますが、ページを電話するだけでスクロールできません!理由は分かりません。ここに私がやっていることです:c#UWP Webview内のScrollviewerはモバイルでしか動作しません

<ScrollViewer Grid.Row="1" x:Name="theScrollViewer" HorizontalAlignment="Stretch" 
        ScrollViewer.VerticalScrollBarVisibility="Hidden" 
        HorizontalScrollBarVisibility="Disabled"> 
      <WebView ScrollViewer.HorizontalScrollBarVisibility="Hidden" 
       ScrollViewer.VerticalScrollBarVisibility="Hidden" 
       Margin="0" x:Name="theWebView" 
       Height="2000" 
       DefaultBackgroundColor="#ff2E2E2E" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>  
</ScrollViewer> 

と私はWebViewのにロードされたCSSに以下を追加しているのWebViewでスクロールを停止するには:

overflow-x:hidden; 
overflow-y: hidden 

のWebViewのheightプロパティ文句を言わない滞在2000年;スクロールするスクロールビューアのコンテンツにはheightプロパティが必要です。とにかくこれはマウスとPCやタブレットでのタッチで完璧に動作しますが、Windows 10 Mobileではスクロールしません。

答えて

0

とにかくこれはマウスとPCとタブレットのタッチで完全に動作しますが、Windows 10 Mobileではスクロールしません。

問題は、あなたのWebviewが親にScrollViewerという操作イベントを渡していないと思います。 PC上で

、我々はScrollBarThumbをドラッグするか、マウスのホイールを回転させることによりScrollViewerをスクロールすることができ、これらの二つの相互作用はScrollViewerによって検出することができます。

しかし、あなたのWebViewScrollViewerの全体の内容を埋めるため、モバイルに、我々は唯一、ScrollViewer内のコンテンツ領域をスワイプしてScrollViewerをスクロールすることができたときに、スワイプジェスチャーは、まずありません再びScrollViewerに扱うWebViewによって捕捉されますWebViewにはウェブコンテンツを保持するのに十分な高さがあるため、デフォルトスクロール機能WebViewも機能しません。

モバイルで動作する場合は、WidthWebViewを小さくし、空白部分をスワイプしてScrollViewerをスクロールしてください。しかし、私はこれがあなたの問題に対する優雅な解決策ではないと考えています。これはレイアウトを醜くする可能性があります。

もう一つの提案は、あなたがThumbが翻訳されたときにスクロールScrollViewerを作るプログラム的に、スクロールするためScrollViewer中にあなたStackPanelWebViewの右側にThumb独自に作成してみてください、このThumbがスライド可能な作るとことができるということです。

関連する問題