此刻,用户可以单击滑块的拇指并以与鼠标光标位置无关的相同速度向左和向右移动。我想更新它的工作,以便当鼠标光标到Slider的距离增加时拖动速度降低。这意味着,当用户用鼠标拖动Slider的拇指并且鼠标光标在Slider本身上方时,拖动速度是正常的(就像此刻一样)。但是如果他在拖动滑块拇指的同时将鼠标光标移离滑块,则拖动速度会降低。鼠标光标越远,拖动速度越低。
答案 0 :(得分:0)
尝试类似:
public class YourSlider : Slider
{
protected override void OnThumbDragDelta(System.Windows.Controls.Primitives.DragDeltaEventArgs e)
{
// Use distance to modify value change
}
}
当然,你将不得不计算鼠标相对于拇指的位置。
您可以使用visual.pointtoscreen
计算出拇指https://msdn.microsoft.com/en-us/library/aa346961.aspx?f=255&MSPPError=-2147217396
您可以使用mouse.getposition和visual.pointtoscreen来获取鼠标位置。