2016-09-23 83 views
1

有一個奇怪的;我在scrollviewer中使用了一個webview(所以我可以在webview上面滾動一個stackpanel),而且我的解決方案在桌面PC和平板電腦上使用得很好(使用鼠標和觸摸),但出於某種原因,在移動設備上電話頁面不會滾動!不知道爲什麼。這是我做了什麼:c#UWP Webview裏面滾動查看器只適用於手機

<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> 

,並停止在網頁視圖我加入以下加載到web視圖的CSS滾動:

overflow-x:hidden; 
overflow-y: hidden 

web視圖的高度財產不會留2000;但我知道在scrollviewer中滾動它的內容需要一個height屬性。無論如何,這與鼠標和PC和平板電腦的觸摸完美結合,但在Windows 10 Mobile上它不會滾動。

任何想法??

回答

0

無論如何,這與鼠標和PC和平板電腦的觸摸完美結合,但在Windows 10 Mobile上它不會滾動。

我認爲問題是,你的Webview不會通過操縱事件其父ScrollViewer

在PC上,我們可以通過在ScrollBar拖動Thumb或滾動鼠標的滾輪滾動ScrollViewer,這兩種相互作用可以通過ScrollViewer進行檢測。

但是,當在移動,我們只能通過刷卡ScrollViewer裏面的內容領域,因爲你WebView填補ScrollViewer全部內容滾動ScrollViewer,揮動手勢將WebView陷入首先,不處理對ScrollViewer再次,現在您的WebView有足夠的高度來容納網頁內容,WebView的默認滾動功能也不起作用。

這裏有一個建議:給小WidthWebView時,它適用於手機,你可以通過滑動的空白區域滾動ScrollViewer。但我認爲這不是對您的問題的優雅解決方案,這可能會使佈局變得難看。

另一個建議是,你可以嘗試創建自己的ThumbStackPanelWebViewScrollViewer內右側滾動,使這Thumb滑入能夠和編程使滾動的ScrollViewerThumb翻譯。