Thumb.DragDelta 事件

定义

Thumb 控件具有逻辑焦点和鼠标捕获时,随着鼠标位置更改发生一次或多次。

public:
 event System::Windows::Controls::Primitives::DragDeltaEventHandler ^ DragDelta;
public event System.Windows.Controls.Primitives.DragDeltaEventHandler DragDelta;
member this.DragDelta : System.Windows.Controls.Primitives.DragDeltaEventHandler 
Public Custom Event DragDelta As DragDeltaEventHandler 

事件类型

示例

以下示例演示如何将 事件的事件处理程序 DragDelta 分配给 Thumb 控件,以及如何定义事件处理程序。 有关完整示例,请参阅 Thumb 拖动功能示例

<Thumb Name="myThumb" Canvas.Left="80" Canvas.Top="80" Background="Blue" 
      Width="20" Height="20" DragDelta="onDragDelta" 
      DragStarted="onDragStarted" DragCompleted="onDragCompleted"
      />
void onDragDelta(object sender, DragDeltaEventArgs e)
{
    //Move the Thumb to the mouse position during the drag operation
    double yadjust = myCanvasStretch.Height + e.VerticalChange;
    double xadjust = myCanvasStretch.Width + e.HorizontalChange;
    if ((xadjust >= 0) && (yadjust >= 0))
    {
        myCanvasStretch.Width = xadjust;
        myCanvasStretch.Height = yadjust;
        Canvas.SetLeft(myThumb, Canvas.GetLeft(myThumb) +
                                e.HorizontalChange);
        Canvas.SetTop(myThumb, Canvas.GetTop(myThumb) +
                                e.VerticalChange);
        changes.Text = "Size: " +
                        myCanvasStretch.Width.ToString() +
                         ", " +
                        myCanvasStretch.Height.ToString();
    }
}

注解

Thumb当用户按下鼠标左键同时将鼠标指针悬停在控件上Thumb时,控件将接收焦点和鼠标捕获。 Thumb当用户释放鼠标左键或调用 方法时CancelDrag,控件将失去鼠标捕获。

每次鼠标位置在屏幕上移动时,都会发生一个新 DragDelta 事件。 因此,当控件具有鼠标捕获时 Thumb ,可以多次引发此事件,且没有限制。

路由事件信息

标识符字段 DragDeltaEvent
路由策略 鼓 泡
委托 DragDeltaEventHandler

适用于

另请参阅