locked
ListView virtualization issues in Windows Store and Windows Phone apps (universal)

    Question

  • Hello all,

    As you can see in the screenshot below, a virtualized listview doesn’t show all items:

    I tried to keep the repro as close to my real app as possible, so I just stripped as much away as possible. If you need more info on anything, just let me know.

    Download the repro

    Has anyone ever seen this issue and has a solution? Or is this a bug in the universal app platform?


    Geert van Horrik - CatenaLogic
    Visit my blog: http://www.geertvanhorrik.com

    Looking for a free open-source MVVM framework for all platforms with good support and documentation? Check out Catel!


    Tuesday, September 23, 2014 3:06 PM

All replies

  • I'd suspect off hand that one of the Task'<void>' methods is actually throwing an exception, but because it's void - you can't collect it.

    Or...

    Something's interrupting the process of the view measuring the list and then binding to it to actually draw the items.  The list seems to know that the items aren't there, but it's definitely calculated the size.

    I found a workaround thought: I did get it to work with this xaml in the virtualising view:

       <ListView.ItemsPanel>
                    <ItemsPanelTemplate>
                        <VirtualizingStackPanel  VirtualizingStackPanel.VirtualizationMode = "Recycling"/>
                    </ItemsPanelTemplate>
                </ListView.ItemsPanel>

    ... I'm not sure what that means though for the overall issue.


    Darin R.

    Tuesday, September 23, 2014 5:42 PM
  • Hi Darin,

    Thank you very much for your reply. 

    1) The task does not throw anything, bot views are binding to exactly the same collection. As you can see in the QueueService, it just creates a new list (what can go wrong with that?).

    2) I just tried the VirtualizationMode="Recycling", but it still leaves some items item out (I can see until track 92). The non-virtualized always shows the 100 from the collection.

    I also ensured it's not the FastObservableCollection by changing it back to the ObservableCollection, problem still exists.


    Geert van Horrik Visit my blog: http://www.geertvanhorrik.com Looking for a free open-source MVVM framework for all platforms with good support and documentation? Check out Catel at http://www.catelproject.com!

    Friday, September 26, 2014 7:55 AM