Simple Range Sliders - SaneDevelopment/WPF-Controls GitHub Wiki
SimpleNumericRangeSlider
and SimpleDateTimeRangeSlider
are controls similar to System.Windows.Controls.Slider
, but let the user select two values (or range) instead of one.
/images/SimpleNumericRangeSliderSample.gif
SimpleDateTimeRangeSlider
is a control absolutely similar to SimpleNumericRangeSlider
, but has DateTime
values of some properties (such as Minimum
, Maximum
, StartValue
, EndValue
and so on) instead of double
values.
/images/SimpleDateTimeRangeSliderSample.gif
User can change values by moving a Thumb
or by pressing a keys on keyboard:
Key gesture | Activated command |
---|---|
PageUp |
IncreaseRangeLarge |
LeftCtrl + PageUp |
IncreaseStartLarge |
RightCtrl + PageUp |
IncreaseEndLarge |
PageDown |
DecreaseRangeLarge |
LeftCtrl + PageDown |
DecreaseStartLarge |
RightCtrl + PageDown |
DecreaseEndLarge |
Up Arrow , Right Arrow |
IncreaseRangeSmall |
LeftCtrl + Up Arrow , LeftCtrl + Right Arrow |
IncreaseStartSmall |
RightCtrl + Up Arrow , RightCtrl + Right Arrow |
IncreaseEndSmall |
Down Arrow , Left Arrow |
DecreaseRangeSmall |
LeftCtrl + Down Arrow , LeftCtrl + Left Arrow |
DecreaseStartSmall |
RightCtrl + Down Arrow , RightCtrl + Left Arrow |
DecreaseEndSmall |
Home |
MinimizeRangeValue |
LeftCtrl + Home |
MinimizeStartValue |
RightCtrl + Home |
MinimizeEndValue |
End |
MaximizeRangeValue |
LeftCtrl + End |
MaximizeStartValue |
RightCtrl + End |
MaximizeEndValue |
Properties
Common properties for all range sliders:
Property | Description |
---|---|
AutoToolTipFormat |
Gets or sets the standard or custom format string for any value of range. Ignored if AutoToolTipValueConverter is set. (Inherited from SimpleRangeSlider<T, TInterval> ) |
AutoToolTipPlacement |
Gets or sets whether a tooltip that contains the current value of the slider displays when the any thumb is pressed. If a tooltip is displayed, this property also specifies the placement of the tooltip. (Inherited from SimpleRangeSlider<T, TInterval> ) |
AutoToolTipValueConverter |
Gets or sets the IRangeValueToStringConverter<T> that converts any value of range (StartValue , EndValue , etc.) to the string showing in tooltip. If not null then AutoToolTipFormat ignoring. (Inherited from SimpleRangeSlider<T, TInterval> ) |
AutoToolTipValueConverterParameter |
Gets or sets the additional parameter for the IRangeValueToStringConverter<T> . Designed as a parameter for the specific converter. (Inherited from SimpleRangeSlider<T, TInterval> ) |
Delay |
Gets or sets the amount of time in milliseconds that a RepeatButton waits, while it is pressed, before a command to move the thumb executes, such as a Decrease*Large command. (Inherited from SimpleRangeSlider<T, TInterval> ) |
EndReservedSpace |
Gets the size of space reserved between right/bottom edge of the control and right/bottom end of embedded TickBar . Evaluates from thumb's width/height. (Inherited from SimpleRangeSlider<T, TInterval> ) |
EndValue |
Gets or sets the current end value of the range element. |
Interval |
Gets or sets the amount of time in milliseconds between increase or decrease commands when a user clicks the RepeatButton of a slider. (Inherited from SimpleRangeSlider<T, TInterval> ) |
IsDragRangeEnabled |
Gets or sets a value indicating whether RangeThumb can be draged thereby the whole RangeValue changes. If false , user can move only StartThumb or EndThumb independently. (Inherited from SimpleRangeSlider<T, TInterval> ) |
IsRaiseValueChangedWhileDragging |
Gets or sets a value indicating whether the event ValueChanged raises while dragging any of thumbs. If false , the event raises only right after dragging stoped (e.g. user releases mouse button). (Inherited from SimpleRangeSlider<T, TInterval> ) |
IsRangeDragging |
Gets a value indicating whether this element is in process of dragging (any of thumbs) now. (Inherited from SimpleRangeSlider<T, TInterval> ) |
IsSingleValue |
Gets or sets a value indicating whether this element is behaves like a ordinary System.Windows.Controls.Slider . That is, StartValue equals to EndValue and RangeVale equals to 0 . (Inherited from RangeBaseControl<T, TInterval> ) |
IsSnapToTickEnabled |
Gets or sets a value that indicates whether the slider automatically moves the thumb to the closest tick mark. (Inherited from SimpleRangeSlider<T, TInterval> ) |
LargeChange |
Gets or sets a value to be added to or subtracted from the value of a control when any of the *Large command raises. |
Maximum |
Gets or sets the highest possible value of the range element. |
Minimum |
Gets or sets the minimum possible value of the range element. |
MinRangeValue |
Gets or sets the minimum possible value of the RangeValue . |
Orientation |
Gets or sets the orientation of a slider. (Inherited from SimpleRangeSlider<T, TInterval> ) |
RangeValue |
Gets the current range value, i.e. EndValue - StartValue . (Inherited from RangeBaseControl<T, TInterval> ) |
SmallChange |
Gets or sets a value to be added to or subtracted from the value of a control when any of the *Small command raises. |
StartReservedSpace |
Gets the size of space reserved between left/top edge of the control and left/top end of embedded TickBar . Evaluates from thumb's width/height. (Inherited from SimpleRangeSlider<T, TInterval> ) |
StartValue |
Gets or sets the current start value of the range element. |
TickFrequency |
Gets or sets the interval between tick marks. |
TickLabelConverter |
Gets or sets the IDoubleToStringConverter that converts tick value to the string. If not set then uses CultureInfo.CurrentCulture.NumberFormat format provider. |
TickLabelConverterParameter |
Gets or sets the additional parameter for the IDoubleToStringConverter . Designed as a parameter for the specific converter. |
TickPlacement |
Gets or sets the position of tick marks with respect to the track of the slider. (Inherited from SimpleRangeSlider<T, TInterval> ) |
SimpleNumericRangeSlider
:
Properties specific for Property | Description |
---|---|
AutoToolTipPrecision |
Gets or sets the number of decimal places to use in double values converted to strings showing in tooltip. Ignored if AutoToolTipValueConverter is set. |
Ticks |
Gets or sets the positions of the tick marks to display for a slider. This is collection of double values: DoubleCollection . |
SimpleDateTimeRangeSlider
:
Properties specific for Property | Description |
---|---|
MaximumAsDouble |
Gets the double value of Maximum property. This is a value of DateTime.Ticks converted to double . Can be used in scenarios of binding to double -typed dependency properties of other controls (such as ordinary System.Windows.Controls.Slider ). |
MinimumAsDouble |
Gets the double value of Minimum property. This is a value of DateTime.Ticks converted to double . Can be used in scenarios of binding to double -typed dependency properties of other controls (such as ordinary System.Windows.Controls.Slider ). |
TickFrequencyAsDouble |
Gets the double value of TickFrequency property. This is a value of DateTime.Ticks converted to double . Can be used in scenarios of binding to double -typed dependency properties of other controls (such as ordinary System.Windows.Controls.Slider ) |
Ticks |
Gets or sets the positions of the tick marks to display for a slider. This is collection of DateTime values: DateTimeCollection |
TicksAsDouble |
Gets the positions of the tick marks to display for a slider. This is collection of double values: DoubleCollection , copied from Ticks property (via converting DateTime.Ticks to double ). Can be used in scenarios of binding to double -typed dependency properties of other controls (such as ordinary System.Windows.Controls.Primitives.TickBar.Ticks ). |
Commands
You can manipulate range slider values by the following commands via command binding in XAML or code behind.
Command | Description |
---|---|
DecreaseEndLarge |
Decreases the EndValue of the slider by the same amount as the LargeChange property. |
DecreaseEndSmall |
Decreases the EndValue of the slider by the same amount as the SmallChange property. |
DecreaseRangeLarge |
Decreases the both StartValue and EndValue of the slider by the same amount as the LargeChange property. |
DecreaseRangeSmall |
Decreases the both StartValue and EndValue of the slider by the same amount as the SmallChange property. |
DecreaseStartLarge |
Decreases the StartValue of the slider by the same amount as the LargeChange property. |
DecreaseStartSmall |
Decreases the StartValue of the slider by the same amount as the SmallChange property. |
IncreaseEndLarge |
Increases the EndValue of the slider by the same amount as the LargeChange property. |
IncreaseEndSmall |
Increases the EndValue of the slider by the same amount as the SmallChange property. |
IncreaseRangeLarge |
Increases the both StartValue and EndValue of the slider by the same amount as the LargeChange property. |
IncreaseRangeSmall |
Increases the both StartValue and EndValue of the slider by the same amount as the SmallChange property. |
IncreaseStartLarge |
Increases the StartValue of the slider by the same amount as the LargeChange property. |
IncreaseStartSmall |
Increases the StartValue of the slider by the same amount as the SmallChange property. |
MaximizeEndValue |
Sets the EndValue of the slider to the Maximum value. |
MaximizeRangeValue |
Sets the EndValue of the slider to the Maximum value and increases the StartValue by the same amount. In other words, shifts the whole range to the Maximum . |
MaximizeStartValue |
Sets the StartValue of the slider to the Maximum value. |
MinimizeEndValue |
Sets the EndValue of the slider to the Minimum value. |
MinimizeRangeValue |
Sets the StartValue of the slider to the Minimum value and decreases the EndValue by the same amount. In other words, shifts the whole range to the Minimum . |
MinimizeStartValue |
Sets the StartValue of the slider to the Minimum value. |
Events
Event | Description |
---|---|
EndValueChanged |
Occurs when the EndValue changes. (Inherited from RangeBaseControl<T, TInterval> .) |
IsRangeDraggingChanged |
Occurs when the IsRangeDragging changes. (Inherited from RangeBaseControl<T, TInterval> .) |
RangeDragCompleted |
Occurs when dragging of any of thumbs stoped (e.g. user releases mouse button). (Inherited from RangeBaseControl<T, TInterval> .) |
RangeValueChanged |
Occurs when the RangeValue changes. (Inherited from RangeBaseControl<T, TInterval> .) |
StartValueChanged |
Occurs when the StartValue changes. (Inherited from RangeBaseControl<T, TInterval> .) |
ValueChanged |
Occurs when any (or both) of the StartValue and EndValue changes. (Inherited from RangeBaseControl<T, TInterval> .) |