Question

Windows Store (Windows 8.1) ListView scroll thumb hides in touch mode. It moves past screen area. This bug is reproducible on large amount of items in the list view.

enter image description here

    <Grid >
      <ListView x:Name="ListView"/>
    </Grid>

    private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
    {
        List<int> data = new List<int>();


        for(int i = 0; i < 1000; i++)
        {
            data.Add(i);
        }

        this.ListView.ItemsSource = data;
    }
Was it helpful?

Solution

I could reproduce the bug and it has nothing to do with the ListView.

It's related to the ScrollBar implementation. The position of the "VerticalPanningRoot" (which is the name of the relevant element in the template of the ScrollBar) seems to be miscalculated.

I did not have available a touch device to test with, so I can't be sure it's not a simulator only bug. I will test with a device and get back after I do. Otherwise it's a bug in the ScrollBar.

OTHER TIPS

In the code example...the grid has no bounds. So it's likely that the grid is not virtualize-ing the items in the list and the outer grid is stretching beyond the bounds of the screen, allowing the list views scroll "thumb" to seemingly disappear off the bottom of the page.

Set the vertical align property / max height of the grid.

Alternatively you could change the grid into a scroll viewer and use the scroll thumb of the viewer while setting the properties related to scrolling of the list view to reflect that it should never show.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top