or
public
class
CubiksRadSlider : RadSlider
{
public
int
Row {
get
;
set
; }
}
// Add Slider (rowIndex, slider indexes refer to columns rows of a grid)
CubiksRadSlider slider =
new
CubiksRadSlider()
{
Tag =
string
.Format(
"{0}_{1}"
,
"slider"
, rowIndex),
Maximum = _emailReplyViewModel.Email.MessageOptionText.Count,
LargeChange = 1,
Minimum = 0,
SmallChange = 1,
Value = 0,
TickPlacement = TickPlacement.BottomRight,
TickFrequency = 1,
Margin =
new
Thickness(3),
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Center,
Row = sliderIndex
};
slider.ValueChanged += (s, args) => { slider.Value = Math.Round(slider.Value); };
//Assign it's grid position
slider.SetValue(Grid.RowProperty, rowIndex + 1);
grid.Children.Add(slider);
grid.InvalidateMeasure();
<
telerik:RadSlider
x:Name
=
"sldFilterByPrice"
VerticalAlignment
=
"Center"
Margin
=
"20"
HandlesVisibility
=
"Visible"
IsSelectionRangeEnabled
=
"True"
TickFrequency
=
"20"
TickPlacement
=
"TopLeft"
TickTemplate
=
"{StaticResource TickTemplate}"
IsSnapToTickEnabled
=
"True"
Maximum
=
"{Binding SeatFilterData.SeatFilterByPrice.PriceMax, Mode=OneTime}"
Minimum
=
"0"
SelectionStart
=
"0"
SelectionEnd
=
"150"
MinimumRangeSpan
=
"0"
MaximumRangeSpan
=
"400"
/>
public
class
CSeatFilter
{
public
class
CSeatFilterByPrice
{
public
List<
decimal
> Prices {
get
;
set
; }
public
double
PriceMin
{
get
{
return
(
double
)Prices.First();
}
}
public
double
PriceMax
{
get
{
return
(
double
)Prices.Last();
}
}
public
decimal
SelectedPriceMin {
get
;
set
; }
public
decimal
SelectedPriceMax {
get
;
set
; }
public
CSeatFilterByPrice()
{
Initialize();
}
private
void
Initialize()
{
Prices =
new
List<
decimal
>();
Prices.Add(0.0M);
Prices.Add(200.0M);
SelectedPriceMin = Prices.First()+50;
SelectedPriceMax = Prices.Last()-50;
}
}
private
CSeatFilterByPrice _seatFilterByPrice =
new
CSeatFilterByPrice();
public
CSeatFilterByPrice SeatFilterByPrice {
get
{
return
_seatFilterByPrice; } }
<
telerik:RadDocking
x:Name
=
"radDocking1"
BorderThickness
=
"0"
Padding
=
"0"
>
<
telerik:RadDocking.DocumentHost
>
<
telerik:RadSplitContainer
>
<
telerik:RadPaneGroup
>
<
telerik:RadDocumentPane
Title
=
"Some Window 1"
>
<
telerik:RadDocumentPane.Content
>
<
telerik:RadSlider
IsSelectionRangeEnabled
=
"True"
TickPlacement
=
"TopLeft"
IsSnapToTickEnabled
=
"False"
HandlesVisibility
=
"Collapsed"
Margin
=
"30,0"
SelectionEnd
=
"100"
>
</
telerik:RadSlider
>
</
telerik:RadDocumentPane.Content
>
</
telerik:RadDocumentPane
>
<
telerik:RadDocumentPane
Title
=
"Some Window 2"
>
<
telerik:RadDocumentPane.Content
>
<
telerik:RadSlider
IsSelectionRangeEnabled
=
"True"
TickPlacement
=
"TopLeft"
IsSnapToTickEnabled
=
"False"
HandlesVisibility
=
"Collapsed"
Margin
=
"30,0"
SelectionEnd
=
"100"
>
</
telerik:RadSlider
>
</
telerik:RadDocumentPane.Content
>
</
telerik:RadDocumentPane
>
</
telerik:RadPaneGroup
>
</
telerik:RadSplitContainer
>
</
telerik:RadDocking.DocumentHost
>
</
telerik:RadDocking
>
public
class
CustomSlider : RadSlider
{
private
RepeatButton _LargeDecrease;
private
RepeatButton _LargeIncrease;
public
override
void
OnApplyTemplate()
{
base
.OnApplyTemplate();
if
(_LargeDecrease ==
null
|| _LargeIncrease ==
null
)
{
_LargeDecrease =
base
.GetTemplateChild(
"LargeDecreaseButton"
)
as
RepeatButton;
_LargeIncrease =
base
.GetTemplateChild(
"LargeIncreaseButton"
)
as
RepeatButton;
}
else
{
_LargeDecrease.Click -= _LargeDecrease_Click;
_LargeIncrease.Click -= _LargeIncrease_Click;
}
if
(_LargeDecrease !=
null
)
{
_LargeDecrease.Click += _LargeDecrease_Click;
}
if
(_LargeIncrease !=
null
)
{
_LargeIncrease.Click += _LargeIncrease_Click;
}
}
private
void
_LargeIncrease_Click(
object
sender, RoutedEventArgs e)
{
this
.Focus();
}
private
void
_LargeDecrease_Click(
object
sender, RoutedEventArgs e)
{
this
.Focus();
}
}