Ich möchte meine Anwendung eine Pivot
Kontrolle mit einem WebBrowser
Steuerelement in jedem PivotItem
haben. Das Problem ist, dass das Wischen zum nächsten PivotItem
nicht funktioniert, da es stattdessen zu einem horizontalen Scrollen der Webseite führt. Die Webseiten sind jedoch reaktionsbereit und müssen nicht horizontal gescrollt werden, stattdessen möchte ich, dass horizontales Wischen zu einem Schwenkschalter führt. Kann dies erreicht werden? Wenn ich kein Pivot
Steuerelement verwenden kann, was ist die empfohlene Methode zum Implementieren von Seitenwechsel mit WebControl
s auf den Seiten? Ein Top-Menü a la iOS/Android?Swipe Arbeit für ein Pivot-Steuerelement mit integriertem WebBrowser unter Windows Phone 8.0
Antwort
Ja, es ist möglich, benötigt jedoch eine kleine Umgehungsmöglichkeit, da Webbrowser das Ereignis zuerst behandelt und Ihr Pivot wahrscheinlich nichts davon weiß. Sie können für diesen Zweck Touch
und sein Ereignis FrameReported
verwenden. Einfacher Code kann wie folgt aussehen:
public MainPage()
{
InitializeComponent();
Touch.FrameReported += Touch_FrameReported;
}
TouchPoint first;
private void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
TouchPoint mainTouch = e.GetPrimaryTouchPoint(myWebBrowser);
if (mainTouch.Action == TouchAction.Down)
first = mainTouch;
else if (mainTouch.Action == TouchAction.Up)
{
if (mainTouch.Position.X - first.Position.X < 0)
MessageBox.Show("Next item.");
//myPivot.SelectedIndex++;
if (mainTouch.Position.X - first.Position.X > 0)
MessageBox.Show("Previous item.");
//myPivot.SelectedIndex--;
}
}
Wie man sehen kann - ich bin die Erinnerung, wo der Benutzer seine Bewegungen beginnen, dann, wenn er seine Berührung Aussendungen - ich myPivot.SelectetIndex ändern. Hoffe das hilft ein wenig. Sie können auch versuchen mit TouchPanel
, aber ich denke, dass wird einfacher sein (wenn es ausreicht).
Wenn Sie einige Gesten deaktivieren möchten, kann es zum Beispiel wie im folgenden Code aussehen. Ich habe nur HorizontalDrag aktiviert - es wird also nicht zum Zoomen ausgelöst. Die Toleranz sollte natürlich nicht 0 sein, Sie müssen die am besten geeignete für Ihre App definieren.
// in MainPage() constructor
TouchPanel.EnabledGestures = GestureType.HorizontalDrag;
private void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
TouchPoint mainTouch = e.GetPrimaryTouchPoint(myMap);
if (mainTouch.Action == TouchAction.Down)
first = mainTouch;
else if (mainTouch.Action == TouchAction.Up && TouchPanel.IsGestureAvailable)
{
if (mainTouch.Position.X - first.Position.X < 0)
MessageBox.Show("Next item.");
//myPivot.SelectedIndex++;
if (mainTouch.Position.X - first.Position.X > 0)
MessageBox.Show("Previous item.");
//myPivot.SelectedIndex--;
}
}
Hier ist der Artikel, dass diese besondere Ausgabe http://blogs.msdn.com/b/madenwal/archive/2015/02/11/how-to-embed-a-webbrowser-control-inside-a-pivot-item-in-windows-phone.aspx
- 1. Windows Phone 8 Webbrowser Steuerelement
- 2. Windows Phone 7 WebBrowser-Steuerelement schluckt Manipulationsereignisse?
- 3. Theano + Cuda 8.0 unter Windows - Kompilieren Fehler
- 4. Kann ich Windows Phone 8.0 Klassenbibliothek Projekt erstellen und verwenden Sie in Windows Phone 8.1 Projekt
- 5. Bindung mit StringFormat unter Windows Phone 7?
- 6. YouTube unter Windows Phone mit MediaElement
- 7. Gibt es einen Windows Phone 8.0 Plattform-Matrix-Typ?
- 8. PLay M3U8 unter Windows Phone
- 9. Windows Phone 7 unter Windows XP entwickeln
- 10. Windows Phone SDK 8 unter Windows 7
- 11. Navigation unter Windows Phone mit Xamarin.Forms
- 12. Ein Data Caching Framework für Windows Phone?
- 13. Einfacher grafischer Editor unter Windows Phone 7
- 14. Kompilieren SQLite für Windows Phone 8
- 15. OCR unter Windows Phone 8 WP8
- 16. Bereitstellen von Anwendungen unter Windows Phone 7
- 17. JSON unter Windows Phone 7 analysieren
- 18. URL-Konventionen für Maps unter Windows Phone 7
- 19. Erstellen eines benutzerdefinierten Dialogfelds mit integriertem WebBrowser-Steuerelement für die Webauthentifizierung im Installationsprogramm mit WiX
- 20. Laden Sie das Bild in den Webbrowser von Windows Phone
- 21. Silverlight-Webinhalte unter Windows Phone 7
- 22. Sitefinity Mit integriertem Captcha
- 23. Wird Windows Phone 8 SDK unter Windows 7 ausgeführt?
- 24. Windows 10, VS 2015, Debuggen der Windows Phone-App 8.0 auf Emulator/Gerät nicht möglich
- 25. Durchsuchen von .ASHX-Dateien unter Windows Phone 7
- 26. MessageBox.Show für Windows Phone 7
- 27. RTMP-Bibliothek für Windows Phone
- 28. Befehlsleiste in Windows Phone
- 29. Umgang mit der Zurück-Taste unter Windows Phone 7
- 30. Windows Phone Browser Hintergrund Agent
Dank löst. Während dies prinzipiell funktioniert, wird für die horizontalen Swipe-Bedingungen eine andere Toleranz als Null benötigt, da das vertikale Scrollen wahrscheinlich eine Pivot-Änderung auslöst (es sei denn, Sie scrollen _exactly_ vertikal). Die Frage ist also, welche Toleranz in diesem Zustand zu verwenden ist. Zoomen und Kneifen wird auch einen Drehwechsel auslösen, den ich mir vorstelle. – Christian
@Christian Ich habe einen kleinen Code bearbeitet, damit er nicht für Zoom ausgelöst wird. Sie werden wahrscheinlich mehr mit anderen Gesten herausfinden. – Romasz