Create your own navigation
This article explains in details how to create your own navigation using a range control, e.g. one that inherits from the RangeBase class.
The first thing we need to do is to declare a CoverFlow control with some items in a straight-forward manner.
<StackPanel x:Name="LayoutRoot">
<telerik:RadCoverFlow x:Name="cover" Height="600" >
<telerik:RadCoverFlowItem Background="White"/>
<telerik:RadCoverFlowItem Background="Red"/>
<telerik:RadCoverFlowItem Background="Green"/>
<telerik:RadCoverFlowItem Background="Yellow"/>
<telerik:RadCoverFlowItem Background="Blue"/>
<telerik:RadCoverFlowItem Background="Pink"/>
</telerik:RadCoverFlow>
</StackPanel>
<telerik:RadSlider Value="{Binding SelectedIndex, ElementName=cover, Mode=TwoWay}"/>
<telerik:RadSlider Value="{Binding SelectedIndex, ElementName=cover, Mode=TwoWay}" Minimum="0"
Maximum="{Binding Items.Count, ElementName=cover}"/>
public class IntToIntValueConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int val;
int param;
if ((int.TryParse(value.ToString(), out val) && (int.TryParse(parameter.ToString(), out param))))
{
return val + param;
}
return value;
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is int && parameter is int)
{
return (int)value + (int)parameter;
}
return DependencyProperty.UnsetValue;
}
}
<UserControl.Resources>
<local:IntToIntValueConverter x:Key="IntToIntValueConverter"/>
</UserControl.Resources>
<StackPanel x:Name="LayoutRoot1">
<telerik:RadCoverFlow x:Name="cover1" Height="600">
<telerik:RadCoverFlowItem Background="White"/>
<telerik:RadCoverFlowItem Background="Red"/>
<telerik:RadCoverFlowItem Background="Green"/>
<telerik:RadCoverFlowItem Background="Yellow"/>
<telerik:RadCoverFlowItem Background="Blue"/>
<telerik:RadCoverFlowItem Background="Pink"/>
</telerik:RadCoverFlow>
<telerik:RadSlider Value="{Binding SelectedIndex, ElementName=cover, Mode=TwoWay}" Minimum="0"
Maximum="{Binding Items.Count, ElementName=cover, Converter={StaticResource IntToIntValueConverter}, ConverterParameter=-1}"/>
</StackPanel>
<ScrollBar Orientation="Horizontal" Value="{Binding SelectedIndex, ElementName=cover, Mode=TwoWay}" Minimum="0"
Maximum="{Binding Items.Count, ElementName=cover, Converter={StaticResource IntToIntValueConverter}, ConverterParameter=-1}"/>
<telerik:RadNumericUpDown ShowTextBox="False" Value="{Binding SelectedIndex, ElementName=cover, Mode=TwoWay}" Minimum="0"
Maximum="{Binding Items.Count, ElementName=cover, Converter={StaticResource IntToIntValueConverter}, ConverterParameter=-1}"/>