wpf 鼠标移动canvas中的ellipse 控件
时间: 2023-10-26 13:27:04 浏览: 185
wpf可移动的控件
要在 WPF 中实现鼠标移动 Canvas 中的 Ellipse 控件,你可以使用 Canvas.SetLeft 和 Canvas.SetTop 方法来设置 Ellipse 控件的位置。具体步骤如下:
1.在 XAML 中定义 Ellipse 控件和 Canvas 控件。例如:
```
<Canvas x:Name="canvas">
<Ellipse Width="50" Height="50" Fill="Red" MouseMove="Ellipse_MouseMove"/>
</Canvas>
```
2.在代码中实现 Ellipse_MouseMove 事件处理程序。例如:
```
private void Ellipse_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
Ellipse ellipse = sender as Ellipse;
Canvas.SetLeft(ellipse, e.GetPosition(canvas).X - ellipse.Width / 2);
Canvas.SetTop(ellipse, e.GetPosition(canvas).Y - ellipse.Height / 2);
}
}
```
在这个事件处理程序中,我们首先检查鼠标左键是否按下。如果是,我们就获取 Ellipse 控件的引用,并使用鼠标位置计算 Ellipse 控件的新位置。最后,我们使用 Canvas.SetLeft 和 Canvas.SetTop 方法将 Ellipse 控件移动到新位置。
现在,当你在 Canvas 控件中拖动鼠标时,Ellipse 控件将跟随鼠标移动。
阅读全文