Programmatic Scrolling

RadListView exposes the following method for programmatic scrolling to a specific data item:

  • ScrollItemIntoView(object item): Attempts to bring the specified data item into the view.

Example

Here is the definition of the ListView control:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <StackLayout>
        <Button Clicked="ScrollItemIntoViewClicked" Text="ScrollItemIntoView"/>
        <Label x:Name="label"/>
    </StackLayout>
    <telerikDataControls:RadListView x:Name="listView" Grid.Row="1" ItemsSource="{Binding Items}"/>
</Grid>

use the following code to create a simple data for the ListView component:

private Random rnd;
public ObservableCollection<string> Items { get; set; }
public ProgrammaticScrolling()
{
    InitializeComponent();

    this.rnd = new Random();
    this.Items = new ObservableCollection<string>();

    for (int i = 0; i < 100; i++)
    {
        this.Items.Add("Item " + i);
    }

    this.BindingContext = this;
}

Create a method called ScrollToItem and inside this method use ScrollItemIntoView to navigate to a concrete item:

private void ScrollItemIntoViewClicked(object sender, EventArgs e)
{
    this.ScrollToItem();
}
private void ScrollToItem()
{
    var item = this.Items[rnd.Next(this.Items.Count - 1)];
    this.label.Text = "Scrolled to: " + item;
    this.listView.ScrollItemIntoView(item);
}

And the end result:

Figure 1: Scrolling item into View

See Also

Is this article helpful? Yes / No
Thank you for your feedback!

Give article feedback

Tell us how we can improve this article

close
Dummy