磁效应在滑块

本文关键字:磁效应 | 更新日期: 2023-09-27 18:18:28

看,我在Silverlight中有滑块,从最小值0开始,最大值为1,

我想让滑块有一些磁效应,比如如果我把滑块的拇指放在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" />

磁效应在滑块

ValueChanged -Event呢?

构建如下代码:

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;
    }
}
相关文章: