Currently, the panel will create containers for the first item that should be shown before the viewport start and the last item that should be shown after the viewport. Here we talk about containers outside of the viewport. This is defined in the implementation of the panel and it cannot be changed.
Allow setting the number of visual items that can be generated out of the viewport. Or maybe pixel size. Similar to the attached properties of VirtualizingPanel (CacheLength and CacheLengthUnit). May be we can use them as well.(https://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingpanel.cachelength(v=vs.110).aspx)
Note: The cache is the amount of space above or below the viewport in which items are not virtualized.