Магнитный эффект в слайдере
Посмотрите, у меня есть Слайдер в Silverlight, имеющий максимальное значение 1, начиная с минимального значения 0,
я хочу, чтобы ползунок имел некоторый магнитный эффект, например, если я опускаю ползунок рядом с 0, он должен вернуться к 0.
например, если я опущу большой палец между (0 - 0,50), скажем, 0,40, большой палец должен переместиться в 0, а если большой палец упадет при значении больше 0,50, он должен переместиться в 1.
<Slider Height="50" x:Name="slider" Width="160" Maximum="1" SmallChange="1" LargeChange="1" Minimum="0" />
2 ответа
Решение
Что насчет ValueChanged
-Событие?
Построить что-то вроде этого:
slider.Value = slider.Value <= 0.5 ? 0 : 1;
public class SnappySlider : Slider
{
public SnappySlider()
{
this.DefaultStyleKey = typeof(Slider);
}
protected override void OnValueChanged(double oldValue, double newValue)
{
base.OnValueChanged(oldValue, newValue);
Value = Value < 0.5 ? 0 : 1;
}
}