or
var groupHeaderRows = AssociatedObject.ChildrenOfType<GroupHeaderRow>().ToList();<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; }}
