Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Windows Phone 7 ItemsControl Virtualization using VirtualizingStackPanel in Silverlight

DZone's Guide to

Windows Phone 7 ItemsControl Virtualization using VirtualizingStackPanel in Silverlight

· Mobile Zone
Free Resource

Get gorgeous, multi-touch charts for your iOS application with just a few lines of code.

Usually I am using ListBox control in my Windows Phone 7 Silverlight applications to display a scrollable list of child controls. ListBox offers UI virtualization, that means that UI is loading ListBox items on demand to increase the performance and reduce memory allocation. One of the main keys to that is in using VirtualizingStackPanel as ItemsPanel Template for ListBox control.

Lately in one of my Windows Phone 7 projects I had to replace ListBox with ItemsControl, but ItemsControl does not offer UI virtualization for child items by default, so I had to add the same VirtualizingStackPanel to ItemsPanelTemplate element. Also I have modified the Template element to be able to add and access ScrollViewer for ItemsControl.

<ItemsControl>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.Template>
        <ControlTemplate TargetType="ItemsControl">
                <ScrollViewer>
                    <ItemsPresenter/>
                </ScrollViewer>
        </ControlTemplate>
    </ItemsControl.Template>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <!-- place your controls here-->
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

 

.Net developers: use Highcharts, the industry's leading interactive charting library, without writing a single line of JavaScript.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}