or
<telerik:RadComboBox Width="125" FontSize="{DynamicResource FontSizeBig}" VerticalAlignment="Center" Height="32" Margin="0,0,5,0" SelectedValue="{Binding Realtime.TimeRemaining, Converter={StaticResource DetectionDurationConverter}, Source={StaticResource Locator}}"> <telerik:RadComboBoxItem Content="10 s" /> <telerik:RadComboBoxItem Content="10 minutes"/> <telerik:RadComboBoxItem Content="1 hour"/> <telerik:RadComboBoxItem Content="Custom" Margin="0"/></telerik:RadComboBox>public class DetectionDurationConverter : IValueConverter{ private static readonly string[] durationSet = new[] {"10 s", "10 minutes", "1 hour"}; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var timeSpan = (TimeSpan) value; if (timeSpan == TimeSpan.FromSeconds(10.0)) { return durationSet[0]; } else if (timeSpan == TimeSpan.FromMinutes(10.0)) { return durationSet[1]; } else if (timeSpan == TimeSpan.FromHours(1.0)) { return durationSet[2]; } return string.Empty; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { var timeSpan = TimeSpan.MinValue; if (value is RadComboBoxItem) { var val = System.Convert.ToString((value as RadComboBoxItem).Content); if (val == durationSet[0]) { timeSpan = TimeSpan.FromSeconds(10.0); } else if (val == durationSet[1]) { timeSpan = TimeSpan.FromMinutes(10.0); } else if (val == durationSet[2]) { timeSpan = TimeSpan.FromHours(1.0); } } return timeSpan; }}

public class ParentViewModel : ViewModelBase{ public String Name { get; set; } //public DateTime Start { get { return ChildItems.Min(x => x.Start); } } //public DateTime End { get { return ChildItems.Max(x => x.End); } } public DateTime Start { get { return DateTime.Now; } } public DateTime End { get { return DateTime.Now.AddDays(7.0); } } public TimeSpan Duration { get { return End - Start; } } public ObservableCollection<TestViewModel> ChildItems { get; private set; } public ParentViewModel() { ChildItems = new ObservableCollection<TestViewModel>(); } public void AddChilds(IEnumerable<TestViewModel> childs) { foreach (var x in childs) { ChildItems.Add(x); } } public void FirePropertysChanged() { OnPropertyChanged("Start"); OnPropertyChanged("End"); }}<Grid x:Name="LayoutRoot"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto" /> <RowDefinition Height="*"/> </Grid.RowDefinitions> <StackPanel Orientation="Horizontal" Margin="2"> <TextBlock FontWeight="Bold" Text="PeriodStart: " /> <TextBlock Text="{Binding Start}"/> </StackPanel> <StackPanel Orientation="Horizontal" Grid.Row="1" Margin="2"> <TextBlock FontWeight="Bold" Text="PeriodEnd: " /> <TextBlock Text="{Binding End}"/> </StackPanel> <telerik:RadTimeline x:Name="radTimeline1" Grid.Row="2" PeriodStart="{Binding Start}" PeriodEnd="{Binding End}" StartPath="Start" DurationPath="Duration" ItemsSource="{Binding ChildItems}"> <telerik:RadTimeline.Intervals> <telerik:MonthInterval /> <telerik:WeekInterval /> <telerik:DayInterval /> <telerik:HourInterval /> <telerik:MinuteInterval /> </telerik:RadTimeline.Intervals> </telerik:RadTimeline></Grid>