2010-09-16 4 views

Antwort

44

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

5

UI Virtualization

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.

Verwandte Themen