Магнитный эффект в слайдере - PullRequest
1 голос
/ 20 декабря 2011

посмотрите, у меня есть Слайдер в 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 ]

2 голосов
/ 20 декабря 2011

А как насчет ValueChanged -Event?

Построить что-то вроде этого:

slider.Value = slider.Value <= 0.5 ? 0 : 1;
0 голосов
/ 20 декабря 2011
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;
    }
}
...