Hi,
I expect the SelectionEnd and SelectionStart values to stay within the bounds of the Maximum and Minimum but they don't. I created a small sample app that demonstrates this behavior.
View:
Code behind:
ViewModel:
Am I missing a property on the slider that will prevent this behavior or do I have to catch it manually?
Thanks,
Josh
I expect the SelectionEnd and SelectionStart values to stay within the bounds of the Maximum and Minimum but they don't. I created a small sample app that demonstrates this behavior.
View:
<Grid> <StackPanel> <StackPanel Orientation="Horizontal" Height="50"> <Label Content="Upper Thumb" /> <TextBox Width="300" Height="35" Text="{Binding Path=SelectionEnd}" /> </StackPanel> <telerik:RadSlider Name="radSlider" VerticalAlignment="top" Width="25" Height="200" Margin="0 10 5 0" IsSelectionRangeEnabled="True" TickPlacement="None" Minimum="0.0" Maximum="1.0" Orientation="Vertical" SelectionStart="{Binding Path=SelectionStart, Mode=TwoWay, FallbackValue=0.25}" SelectionEnd="{Binding Path=SelectionEnd, Mode=TwoWay, FallbackValue=0.5}" LargeChange="0.05" SmallChange="0.05" /> <StackPanel Orientation="Horizontal" Height="50"> <Label Content="Lower Thumb" /> <TextBox Width="300" Height="35" Text="{Binding Path=SelectionStart}" /> </StackPanel> </StackPanel> </Grid>Code behind:
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); var vm = new SliderViewModel(); DataContext = vm; } }ViewModel:
public class SliderViewModel : INotifyPropertyChanged { public SliderViewModel() { _selectionStart = 0.25; _selectionEnd = 0.5; } private double _selectionStart; public double SelectionStart { get { return _selectionStart; } set { if (_selectionStart != value) { _selectionStart = value; OnPropertyChanged("SelectionStart"); } } } private double _selectionEnd; public double SelectionEnd { get { return _selectionEnd; } set { if (_selectionEnd != value) { _selectionEnd = value; OnPropertyChanged("SelectionEnd"); } } } public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged(String propertyName) { var handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } }Am I missing a property on the slider that will prevent this behavior or do I have to catch it manually?
Thanks,
Josh