2015-08-17 59 views
0

此時,用戶可以單擊滑塊的拇指,並以與鼠標光標位置無關的相同速度向左和向右移動它。我想更新它的工作,以便拖動速度降低,當鼠標光標到滑塊的距離增加時。這意味着,當用戶用鼠標拖動滑塊的拇指並且鼠標光標位於滑塊本身上時,拖動速度是正常的(就像現在這樣)。但是,如果他在拖動滑塊拇指的同時將鼠標光標從滑塊移開,則拖動速度會降低。鼠標光標越遠,拖動速度越低。如何拖動滑塊wpf較慢?

+0

您假設您的所有用戶都以相同的方式與滑塊進行交互。這可能是一個壞主意。與其交互時,並非每個人都會將鼠標移離滑塊。 –

+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獲得鼠標位置的工作伸出了大拇指。