Wie die meisten WPF-Entwickler wissen, wird durch die Einstellung ScrollViewer.CanContentScroll
auf false
die Virtualisierung deaktiviert. aber ich würde gerne wissen, wie es funktioniert, weil ich versuche, die Virtualisierung zu aktivieren, während ScrollViewer.CanContentScroll
auf false
gesetzt wird. Warum die Einstellung ScrollViewer.CanContentScroll auf false setzt, um die Virtualisierung zu deaktivieren
Antwort
„Scroll derzeit erlaubt zwei Scrolling-Modi:. Glatte Pixel-für-Pixel-Bildlauf (CanContentScroll = false) oder diskreten Element-für-Element-Bildlauf (CanContentScroll = true) Derzeit WPF unterstützt nur UI-Virtualisierung, wenn sie von Element Scrollen Das pixelbasierte Scrollen wird auch "physisches Scrollen" genannt und das itembasierte Scrollen wird auch "logisches Scrollen" genannt.
Virtualisierung erfordert Artikel basierte Scrollen, damit es den Überblick über logische Einheiten (Items) zur Zeit im Auge behalten kann ... die Scroll Einstellung auf pixelbasierten sie nicht mehr Konzept der Logikeinheiten Scrollen aber nur Pixel !! !
ich oft gefragt werde, ob es einen Weg, um diese Einschränkung zu arbeiten ist. Nun, alles ist möglich, aber es gibt keine einfache Problemumgehung. Sie müssten wichtige Teile der aktuellen Virtualisierungslogik erneut implementieren, um pixelbasiertes Scrollen mit UI-Virtualisierung zu kombinieren. Sie müssten auch einige interessante Probleme lösen, die damit einhergehen. Zum Beispiel, wie berechnen Sie die Größe des Daumens, wenn die Artikelbehälter unterschiedliche Höhen haben? (Denken Sie daran, dass Sie die Höhe der virtualisierten Container nicht kennen - Sie kennen nur die Höhe der aktuell angezeigten Container.) Sie könnten einen Durchschnitt basierend auf den Ihnen bekannten Höhen annehmen, oder Sie könnten eine Liste mit den Positionshöhen, wenn Elemente in den Speicher gebracht werden (was die Genauigkeit der Daumengröße erhöhen würde, wenn der Benutzer mit dem Steuerelement interagiert). Sie können auch entscheiden, dass das pixelbasierte Scrollen nur mit Elementen mit gleicher Höhe funktioniert - dies würde die Lösung vereinfachen. Also, ja, Sie könnten eine Lösung finden, um diese Einschränkung zu umgehen, aber das ist nicht trivial.
- 1. Welche Vorteile hat die Einstellung "hive.exec.parallel" in Hive auf "false"?
- 2. Warum setzt die Einstellung currentTime des HTML5-Videoelements die Zeit in Chrome zurück?
- 3. Deaktivieren einer Schaltfläche in C# OHNE Einstellung von btn.Enabled = false ;?
- 4. Warum kann die Einstellung resizerable auf "false" gesetzt werden, damit ein Padding angezeigt wird?
- 5. TypeScript - möglich, um die Typprüfung zu deaktivieren?
- 6. ST3: Eine Einstellung, um diese rote Warnung zu deaktivieren?
- 7. Die Einstellung showPrintPanel auf false bei Verwendung von NSPrintOperation führt beim Drucken zu unterschiedlichen Größen
- 8. Warum setzt Bootstrap die Eigenschaft line-height auf 1.428571429?
- 9. Warum funktioniert die Zuweisung zu True/False nicht wie erwartet?
- 10. -Bestätigen: $ false als globale Einstellung
- 11. cakephp setzt die Checkbox auf separaten Leitungen
- 12. Welche Auswirkungen hat die Virtualisierung auf kryptografisch starke Zufallsgeneratoren?
- 13. Warum Überlauf-Einstellung: versteckt; die Rückseitensichtbarkeitserklärung brechen?
- 14. UAC-Virtualisierung verhindern?
- 15. Tapping ist zweimal erforderlich, um die Tabellenzelle zu deaktivieren
- 16. wie man lwuit textarea scrolling false setzt
- 17. Warum Virtualisierung auf ProgramData-Ordner in MS Vista?
- 18. Kann die sslVerify nicht auf false setzen
- 19. Unterstützt Intel Pentium Virtualisierung?
- 20. Wie setzt man JetBrains, um immer ECMAScript 6 zu benutzen?
- 21. Wie man die Symbolleiste auf FragmentActivity setzt?
- 22. Um Bild zu deaktivieren
- 23. SetupDiGetClassDescription gibt FALSE zurück, setzt Fehler 0xE0000206
- 24. Warum setzt Angular Material Hintergrundfarben?
- 25. Wie setzt die Einstellung der Hintergrundfarbe von AP-Element auch die Hintergrundfarbe für das Bild über
- 26. Msbuild WebDirectorySetting setzt nicht aktiviertProtocols Einstellung
- 27. Wie setze ich die Einstellung HttpOnly des Session-Cookies auf false?
- 28. R: False oder NA, die False zurückgibt
- 29. Warum setzt man delegate nil, wenn die Instanz deallociert wird?
- 30. die Größe eines JFrame Einstellung