Features overview Instead of letting the layout system generate all the UI elements that are associated with the control (i.e. all items from the content), the control automatically works out the number of elements that will be displayed in the viewport, and creates the UI element containers for only those elements that will be visible at any given time in the control. Core features No procedural code needed to setup the control In contrast to the very powerful features in the control, you will find it extremely easy to setup and run the control in your applications with absolutely no procedural code. Either using Designer tools like MS Expression Blend or such other designer tools, or even with hand-cranked one line of XAML, you will be able to run the control in just few seconds. You can see a screen-shot here that displays a code snippet where the control has been setup in just one line of XAML, which instantiates the BinaryVirtualizingWrapPanel control, and sets it as the ItemsPanelTemplate, having configured some of its rich UI properties as well. Custom layout management The control is written from scratch, and implements custom logic for content layout and scrolling. The control supports two layout orientations viz., Horizontal and Vertical Orientations, and fully custom implements IScrollInfo interface for scrolling support. Custom item dimension / sizing The child items hosted in the control can have differing Height and Width values. "On demand" realizing of a desired child item The control is capable of realizing a specified item from the associated data-bound source and scroll it into view, given the item's index. Configurable "virtualization" scheme The control allows you to choose from two virtualization schemes - viz., •dispose off (virtualize) the children the moment they leave the bounds of the viewport, OR When disposing off the virtualized items/item containers, the control performs the clean up in a separate dispatcher operation, so as to ensure that the virtualization process eliminates any negative performance impact. Animation of wrapping action The control can (optionally) perform an "animation" while wrapping the child elements from one row/line to the next. |