wpf thumb 控制 rectangle 移动
时间: 2023-08-12 13:33:55 浏览: 45
你可以使用WPF中的Thumb控件来实现控制Rectangle的移动。首先,在XAML中创建Rectangle和Thumb控件,将Rectangle作为Thumb控件的内容:
```
<Canvas>
<Rectangle Width="100" Height="100" Fill="Red" Canvas.Left="100" Canvas.Top="100"/>
<Thumb Canvas.Left="100" Canvas.Top="100">
<Thumb.Template>
<ControlTemplate TargetType="Thumb">
<Rectangle Width="100" Height="100" Fill="Transparent"/>
</ControlTemplate>
</Thumb.Template>
</Thumb>
</Canvas>
```
然后,在代码中处理Thumb的DragDelta事件,使Rectangle跟随Thumb的移动而移动:
```
private void Thumb_DragDelta(object sender, DragDeltaEventArgs e)
{
var thumb = sender as Thumb;
var rectangle = thumb.Content as Rectangle;
Canvas.SetLeft(rectangle, Canvas.GetLeft(rectangle) + e.HorizontalChange);
Canvas.SetTop(rectangle, Canvas.GetTop(rectangle) + e.VerticalChange);
}
```
记得在Thumb控件中添加DragDelta事件处理程序:
```
<Thumb Canvas.Left="100" Canvas.Top="100" DragDelta="Thumb_DragDelta">
```