none
Progressive Loading in Pivot Viewer v2

    Question

  • Hi

    Can someone please tell me (or provide a sample app), how can I implement the progressive loading of Items in the Pivot Viewer v2? The goal is to load lots of items say around 2000 or 3000 generated dynamically without making the user wait (as in the case of the old version of the Pivot Viewer).

    Thanks

    Tuesday, September 13, 2011 10:14 AM

Answers

All replies

  • Hi,

    I suggest you to use  BusyIndicator to implement the progressive loading of Items:

    I've provided some codes below to show how to use BusyIndicator:

    <Grid x:Name="LayoutRoot" Background="White">
            <StackPanel>
                <toolkit:BusyIndicator HorizontalAlignment="Center" Name="busyIndicator1" VerticalAlignment="Center">
                    <StackPanel>
                        <Button Content="Run BusyIndicator" Height="23" HorizontalAlignment="Center" Name="button1" 
                        VerticalAlignment="Center" Width="200" Click="button1_Click" Margin="30" />
                        <Button Content="Run BusyIndicator" Height="23" HorizontalAlignment="Center" Name="button2" 
                        VerticalAlignment="Center" Width="200" Click="button1_Click" Margin="30"/>
                        <Button Content="Run BusyIndicator" Height="23" HorizontalAlignment="Center" Name="button3" 
                        VerticalAlignment="Center" Width="200" Click="button1_Click" Margin="30"/>
                    </StackPanel>
                </toolkit:BusyIndicator>
                <Button Content="Cancel BusyIndicator" Height="23" HorizontalAlignment="Center" Name="button4" 
                        VerticalAlignment="Center" Width="200" Click="button4_Click" Margin="30"/>
            </StackPanel>
        </Grid>
    
    public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                busyIndicator1.IsBusy = true;
            }
    
            private void button4_Click(object sender, RoutedEventArgs e)
            {
                busyIndicator1.IsBusy = false;
            }
        }

    For more information, please refer to the link below, you can make a custom BusyIndicator by your own:

    http://www.silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.htmlhttp://www.silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html

    Hope it can help you.

    Thursday, September 15, 2011 11:33 PM
  • Hi

    Busy Indicator is not what I am looking. Busy Indicator is like just showing to the user an alternative equivalent of the "Collection Loading" message.

    What I am looking for is the mechanism that enables displaying the items to the user chunk by chunk i.e. if the total no. of items is around 2000, instead of making the user wait for all the items to be displayed together, we can show him items in multiples of say 100 items i.e. as soon as 100 items are processed, they will be shown to the user and then when another 100 items are done they will be shown to the user as well and so on! This is what I meant by progressive loading.

    Any help, will be much appreciated.

     

    Thanks

    Friday, September 16, 2011 1:07 AM
  • Hi akshayakrsh,

    Check the following link Scenario 3: Stagger your loading

    http://goodcoffeegoodcode.wordpress.com/2011/09/08/efficiency-strategies-for-pivotviewer/

    Hope this will help you.

    Kirikamal

    Friday, September 16, 2011 1:56 AM
  • Thanks Kiri...this post did help, I did a quick sample but it works like a charm :)

    Cant wait for the BatchObservableCollection Class!

    Friday, September 16, 2011 2:25 AM
  • Hi, but to which events of the Pivot Viewer should the Loader be attached to.

     

    Best Regards.

    Wednesday, December 28, 2011 4:20 PM