2016-09-23 5 views
1

Ich habe ein komisches Bild; Ich benutze eine Webansicht innerhalb eines Scrollviewers (damit ich ein Stackpanel über dem Webview haben kann, das damit scrollt) und meine Lösung funktioniert gut auf Desktop-PC und Tablet (mit Maus und Touch), aber aus irgendeinem Grund auf einem Handy rufen Sie die Seite einfach nicht scrollen! Keine Ahnung warum. Hier ist, was ich getan habe:C# UWP Webansicht innerhalb Scrollviewer funktioniert nur auf Mobil

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

und das Scrollen zu stoppen in der Webansicht ich hinzugefügt haben, die folgende auf die CSS geladen in die Webansicht:

overflow-x:hidden; 
overflow-y: hidden 

Die Höhe Eigenschaft der Webansicht wird nicht bleiben 2000; aber ich weiß für den Inhalt in einem Scrollviewer, um es zu scrollen, benötigt eine Höhe Eigenschaft. Jedenfalls funktioniert das perfekt mit Maus und Touch auf PCs und Tablets, aber auf Windows 10 Mobile scrollt es einfach nicht.

Irgendwelche Ideen ??

Antwort

0

Wie auch immer funktioniert das perfekt mit Maus und Touch auf PCs und Tablets, aber auf Windows 10 Mobile scrollt es einfach nicht.

Ich denke, das Problem ist, dass Ihr Webview nicht die Manipulationsereignisse an ihre Mutter ScrollViewer passieren.

Auf PC, können wir die ScrollViewer blättern durch Thumb im ScrollBar oder Walzen, das Rad der Maus ziehen, können diese beiden Wechselwirkungen von ScrollViewer detektiert werden.

Aber wenn auf mobiles, können wir nur die ScrollViewer blättern durch den Inhaltsbereich innerhalb der ScrollViewer klauen, da Ihre WebView den ganzen Inhalt von ScrollViewer füllen, wird die streichende Geste von WebView zunächst und nicht wieder zu ScrollViewer Griff gefangen werden, und jetzt Ihre WebView hat genug Höhe, um den Web-Inhalt zu halten, die Standard-Scroll-Funktion von WebView wird auch nicht funktionieren.

Hier ist ein Vorschlag: Geben Sie eine kleinere Width-WebView, wenn es auf mobilen funktioniert, und Sie können durch Streichen auf den leeren Bereich der ScrollViewer blättern. Aber ich denke, das ist keine anmutige Lösung für Ihr Problem, dies wird das Layout möglicherweise hässlich machen.

Ein weiterer Vorschlag ist, dass Sie versuchen, Ihre eigenen Thumb auf der rechten Seite Ihres StackPanel und WebView innerhalb des ScrollViewer zum Scrollen, machen diese Thumb schobenen Lage und programmatisch machen den ScrollViewer gescrollt zu erstellen, wenn die Thumb übersetzt.

Verwandte Themen