Магнитный эффект в слайдере

Посмотрите, у меня есть Слайдер в 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;
    }
}
Другие вопросы по тегам