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;
}
}