VirtualListElement record
Scroll-windowed variable list: renders a small fixed Pool of K rows (K ≈ viewport rows + a few margin rows) over a logical list of Count() items that may be FAR larger than K. The framework sizes a scroll content spacer to Count()*RowHeight, tracks the scroll offset, computes the first visible logical index, calls OnWindow(first) BEFORE pulling any slot values (so the plugin’s row Funcs resolve item first+slotIndex), positions the pool rows at their logical offset, and SetActive-shows only rows whose logical index < Count(). Rows MUST be uniform fixed-height (RowHeight). Use for large pickers; the small ListElement (eager full pool) stays for short lists. Height is the viewport height.
public record VirtualListElement : IEquatable<HudElement>Public Members
Section titled “Public Members”| name | description |
|---|---|
| VirtualListElement(…) | Scroll-windowed variable list: renders a small fixed Pool of K rows (K ≈ viewport rows + a few margin rows) over a logical list of Count() items that may be FAR larger than K. The framework sizes a scroll content spacer to Count()*RowHeight, tracks the scroll offset, computes the first visible logical index, calls OnWindow(first) BEFORE pulling any slot values (so the plugin’s row Funcs resolve item first+slotIndex), positions the pool rows at their logical offset, and SetActive-shows only rows whose logical index < Count(). Rows MUST be uniform fixed-height (RowHeight). Use for large pickers; the small ListElement (eager full pool) stays for short lists. Height is the viewport height. |
| Count { get; set; } | |
| Height { get; set; } | |
| OnWindow { get; set; } | |
| Pool { get; set; } | |
| ResetScroll { get; set; } | When non-null, polled each refresh — returning true resets the scroll offset to the top. |
| RowHeight { get; set; } |
See Also
Section titled “See Also”- record HudElement
- namespace Stellar.Abstractions.Services