New to Telerik UI for WinForms? Start a free 30-day trial
Data Binding
Updated on May 7, 2026
Bound mode
RadPipsPager provides built-in option to bind the control to any collection by using the BindingSource property. When in bound mode the RadPipsPager automatically changes the Position of the BindingSource. The number of the pips is also calculated automatically based on the used data.
The following example demonstrates a basic scenario where RadPipsPager is used with RadSlideView. Here, RadPipsPager is bound to a BindingList<T> of a custom object:
Bind RadPipsPager
C#
BindingSource bindingSource = new BindingSource();
BindingList<Person> list = new BindingList<Person>()
{
new Person("1", "Nancy Davolio"),
new Person("2", "Andrew Fuller"),
new Person("3", "Janet Leverling"),
new Person("4", "Margaret Peacock")
};
bindingSource.DataSource = list;
this.radPipsPager1.BindingSource = bindingSource;
//bind slide view to show data
LightVisualElement template = new LightVisualElement();
this.radSlideView1.Mappings.Add(new Mapping(template, LightVisualElement.TextProperty, nameof(Person.Name)));
this.radSlideView1.TemplateElement = template;
this.radSlideView1.BindingSource = bindingSource;Sample Data Object
C#
public class Person
{
private string id;
private string name;
public Person(string id, string name)
{
this.id = id;
this.name = name;
}
public string Id
{
get;
}
public string Name
{
get;
set;
}
}
Unbound mode
In unbound mode, the NumberOfPages property determines the amount of pips items that are shown.
C#
BindingSource source = new BindingSource();
DataTable table = new DataTable();
table.Columns.Add("Title", typeof(string));
table.Rows.Add("Venice");
table.Rows.Add("Rome");
table.Rows.Add("Florence");
this.radSlideView1.BindingSource = source;
this.radPipsPager1.BindingSource = source;
this.radPipsPager1.ButtonsVisibility = ButtonsVisibility.Visible;
this.radSlideView1.ButtonsVisibility = ButtonsVisibility.VisibleOnMouseOver;
source.DataSource = table;
LightVisualElement titleTemplate = new LightVisualElement();
titleTemplate.ForeColor = Color.DarkGray;
titleTemplate.DrawText = true;
titleTemplate.Font = new Font("Verdana", 12f, FontStyle.Bold);
this.radSlideView1.Mappings.Add(new Mapping(titleTemplate, LightVisualElement.TextProperty, table.Columns[0].ColumnName));
this.radSlideView1.TemplateElement = titleTemplate;
Then, you can handle the SelectedIndexChanged event to get notified when the user changes the selected PipsPagerItem. The SelectedPipChangedEventArgs gives access to the new and old pip.
C#
private void RadPipsPager1_SelectedIndexChanged(object sender, Telerik.WinControls.UI.PipsPager.SelectedPipChangedEvent
{
this.source.Position = e.NewIndex;
}