The vertical scrollbar measure incorrectly when the control's ItemsSource is populated in its Loaded event. To reproduce this, set the ItemsSource when the control is initialized. And then populate it on Loaded. Also, to reproduce this you will need to define the columns manually. To resolve this, populate the data on initialization of the gridview. Or delay the population to happen after the Loaded event. You can use a dispatcher for this.