I have a GridView in a ListView contained in a ScrollViewer element.
I understand WPF draws only the visible data at runtime, for example on scrolling grids only the visible rows are drawn initially - my problem is that I don't have as much power as on the desktop on a portable device I am developing for, so my WPF ListView - which scrolls ok on my desktop - is extremely slow on the portable device, which makes the page unusable (I only have a smt like 15 hidden rows).
Is there any dirty hack I can use to walk around the issue (such as scroll all the way down then back all the way up as soon as page loads or similar)?
Any other hacky ideas? Am I doing something wrong?
Any help appreciated!
EDIT: No matter how small the number of rows is (a few hidden rows, 3-4) the app gets stuck for a while as soon as I try to scroll.
EDIT: this is my XAML (removed styles for clarity):
<ScrollViewer Name="scrollViewer" Grid.Row="1">
<ScrollViewer.Resources>
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">60</sys:Double>
</ScrollViewer.Resources>
<ListView Name="recordContainer" Grid.Row="1" VirtualizingStackPanel.IsVirtualizing="False" ItemsSource="{Binding RecordCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="field1" DisplayMemberBinding="{Binding myField_1}"/>
<GridViewColumn Header="field2" DisplayMemberBinding="{Binding myField_2}"/>
</GridView>
</ListView.View>
</ListView>
</ScrollViewer>