You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently, some methods are used in VirtualizingStackPanel to estimate the size. This causes the scroll position of the virtualized list to be not accurate at the pixel level.
Describe the solution you'd like
Add some virtual functions to VirtualizingStackPanel, let the subclass override these virtual functions, and accurately calculate various sizes according to actual needs. This allows pixel-accurate scrolling in the virtualized list.
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered:
Most controls will not have an accurate size until created and placed into a layout which renders the core feature of virtualization (limiting instantiation of real controls) pointless.
There is some room to improve these scenarios (when using ItemsSource to generate children):
fixed height rows for all items. (estimator should work fine here)
fixed heights calculated based on the item type or state.
Scenario 2 would require a full enumeration of the source collection with some additional complexities when child controls are removed/added.
In Avalonia.Labs I experiment with VirtualizingWrapPanel. For different ItemSizes there is is an interface IItemSizeProvider which can be implemented to estimate ItemSize by clients. It still will require a loop over each item which may be slow for huge collections.
Is your feature request related to a problem? Please describe.
Currently, some methods are used in VirtualizingStackPanel to estimate the size. This causes the scroll position of the virtualized list to be not accurate at the pixel level.
Describe the solution you'd like
Add some virtual functions to VirtualizingStackPanel, let the subclass override these virtual functions, and accurately calculate various sizes according to actual needs. This allows pixel-accurate scrolling in the virtualized list.
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: