读书人

slider的鼠标拉动最小变化值解决办法

发布时间: 2012-04-17 15:06:33 作者: rapoo

slider的鼠标拉动最小变化值
假如我设置slider的最小值是100,最大值是200
当前value是150
鼠标稍微拉动一点点,value可能变成150.004304032402,150.34503453405,168.432432052
千奇百怪,没有一个精度的控制
怎么设置可以让它最小移动单位是10,那么150向右一拉就是160,170这样变化呢

注意:不是鼠标点击,而是鼠标点中之后拉动;鼠标点击的好像是设置LargeChange就可以

[解决办法]
这个东西是没有精度控制的。

可以在valuechanged里自己控制一下,比如
bool flag = false;
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
bool flagx = false;
if (!flag && e.NewValue - e.OldValue < 10)
{
flag = true;
flag = true;
(sender as Slider).Value = e.NewValue - e.OldValue < 0 ? e.OldValue - 10 : e.OldValue + 10;
}
if (!flagx)
flag = false;
}

读书人网 >CAD教程

热点推荐