Ich habe den Scrollviewer in meiner App verwendet, um Bilder anzuzeigen. Ich muss das Stackpanel innerhalb der Scrollviewer rechten Seite bewegen, wenn der Benutzer die rechte Seite des Displays berührt, und nach links bewegen, wenn der Benutzer die linke Seite berührt. Ich versuche im XNA-Framework, aber Vektor2-Klasse überprüft nicht die Position des Fingers. Wie man das erreicht.möchte ein Ereignis auslösen, wenn der Benutzer den linken Teil der Anzeige berührt
1
A
Antwort
0
Sie sollten in der Lage sein, in das Ereignis MouseLeftButtonDown
der Seite einhaken. Und dann berechnen, wo der Benutzer den Bildschirm mit der MouseEventArgs.GetPosition Method berührt. Hier ist ein einfaches Beispiel, dieses Konzept zu demonstrieren:
XAML
<ScrollViewer Background="Red">
<StackPanel x:Name="MyStackPanel"
Orientation="Vertical"
Width="150"
Background="Black"
HorizontalAlignment="Left">
<ItemsControl ItemsSource="{Binding Images}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}" Width="48" Height="48" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>
Code hinter
public MainPage()
{
InitializeComponent();
this.MouseLeftButtonDown += OnMouseDown;
}
private void OnMouseDown(object sender, MouseButtonEventArgs e)
{
Point pos = e.GetPosition(this);
double half = this.ActualWidth/2;
if(pos.X < half)
{
MyStackPanel.HorizontalAlignment = HorizontalAlignment.Right;
}
else
{
MyStackPanel.HorizontalAlignment = HorizontalAlignment.Left;
}
}
Verwandte Themen
- 1. ein Ereignis auslösen, wenn der Benutzer auf der Seite
- 2. Firebase-Ereignis, wenn der Benutzer
- 3. Ein Ereignis auslösen, wenn Validierungsfehler vorliegen?
- 4. Wie generiert man ein Rechtsklick-Ereignis, wenn ein Ereignis mit der linken Maustaste generiert wird?
- 5. Wie erzeuge ich eine zweite Tabellenansicht, wenn der Benutzer eine Zelle in der ersten (dynamischen) Tabellensicht (in Objective-C) berührt?
- 6. Emacs: TODO-Anzeige auf der linken Seite
- 7. Anzeige ein Teil der Zeichenkette auf einem Etikett
- 8. Ich möchte von login.aspx umleiten address.aspx, wenn der Benutzer den korrekten Benutzernamen und Passwort ein
- 9. Ein Ereignis aus der Zelle eines ASP.NET-Kalendersteuerelements auslösen
- 10. Batch-Ich möchte den zweiten Teil der Variablen setzen
- 11. Auslösen onclick Ereignis mit der mittleren Maustaste
- 12. Ich möchte ein scrollbares Dropdown-Div erstellen, wenn der Benutzer auf eine Schaltfläche klickt
- 13. Leaflet: Ein Ereignis auslösen, wenn sich die Grenzen ändern
- 14. Auslösen eines Ereignisses, wenn Benutzer weg navigiert
- 15. Ein Ereignis nur einmal auslösen?
- 16. Wie kann ich verhindern, dass mein Dialogfeld "AlertDialog.Builder" geschlossen wird, wenn der Benutzer den Bildschirm berührt?
- 17. Wie vermeide ich, meinen Fortschrittsdialog zu schließen, wenn der Benutzer den Bildschirm berührt?
- 18. Ein Ereignis auslösen, wenn eine E-Mail empfangen wird
- 19. jQuery Auslöser Aktion, wenn ein Benutzer einen bestimmten Teil der Seite scrollt
- 20. OracleDependency nicht auslösen Ereignis
- 21. d3 - auslösen mouseover Ereignis
- 22. Ich möchte die Website schließen, wenn der Benutzer ja antwortet
- 23. Ein Ereignis auslösen, wenn das Kontrollkästchen für WPF
- 24. WPF: ein Ereignis auslösen, wenn Artikel in Listview hinzugefügt wird
- 25. UIscrollView DidScroll - nur wenn berührt
- 26. ng-messages zeigen Fehler nur wenn berührt und Übergang bei der ersten Anzeige von Fehlern
- 27. jquery - Erkennen, ob der untere Teil des div den unteren Rand des Browserfensters berührt?
- 28. DIVS-Eigenschaften ändern, wenn ein anderer den Mauszeiger berührt
- 29. Auslösen eines Ereignisses, wenn sich der Inhalt der Zwischenablage ändert
- 30. Hightlight die ListView-Zeile, wenn ein enthaltenes UI-Element der Zeile berührt wird