Data virtualization sample

Shows how to implement a data source for XAML list controls that implements data virtualization.

Note: This sample is part of a large collection of UWP feature samples. You can download this sample as a standalone ZIP file from, or you can download the entire collection as a single ZIP file, but be sure to unzip everything to access shared dependencies. For more info on working with the ZIP file, the samples collection, and GitHub, see Get the UWP samples from GitHub. For more samples, see the Samples portal on the Windows Dev Center.

Specifically, this sample shows how to:

  • Implement IItemsRangeInfo: Use the IItemsRangeInfo interface to understand which items are in view or the buffer area for a list view, and to manage a cache containing those items.
  • Implement ISelectionInfo: Use the ISelectionInfo interface to manage the selection of items in the list, accounting for the data virtualization.

Note The Windows universal samples require Visual Studio to build and Windows 10 to execute.

To obtain information about Windows 10, go to Windows 10

To obtain information about Microsoft Visual Studio and the tools for developing Windows apps, go to Visual Studio

ListView and GridView UI optimization


XAML data binding
XAML data binding with x:Bind



System requirements

Client: Windows 10

Server: Windows Server 2016 Technical Preview

Phone: Windows 10

Build the sample

  1. Start Microsoft Visual Studio and select File > Open > Project/Solution.
  2. Go to the directory to which you unzipped the sample. Double-click the Visual Studio Solution (.sln) file.
  3. Press Ctrl+Shift+B, or select Build > Build Solution.

Run the sample

The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.

Deploying the sample

  • Select Build > Deploy Solution.

Deploying and running the sample

  • To debug the sample and then run it, press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or selectDebug > Start Without Debugging.
  • The sample uses the StorageFolder API to read the contents of the Pictures folder, if you don't see any results in the sample, its likely that no pictures could be found.