wpf 实现鼠标交互图形绘制
时间: 2024-02-26 18:56:24 浏览: 114
实现 WPF 鼠标交互图形绘制的一种方法是使用 InkCanvas 控件。以下是基本的步骤:
1. 在 XAML 中创建 InkCanvas 控件,用于绘制图形。
```xml
<InkCanvas x:Name="inkCanvas" />
```
2. 在代码中创建一个 Stroke 对象,用于绘制图形。
```csharp
private Stroke currentStroke;
```
3. 在 MouseDown 事件中创建一个新的 Stroke 对象,并将其添加到 InkCanvas 中。
```csharp
private void inkCanvas_MouseDown(object sender, MouseButtonEventArgs e)
{
currentStroke = new Stroke();
currentStroke.DrawingAttributes.Color = Colors.Black;
currentStroke.DrawingAttributes.Height = 2;
currentStroke.DrawingAttributes.Width = 2;
inkCanvas.Strokes.Add(currentStroke);
}
```
4. 在 MouseMove 事件中将鼠标移动的点添加到当前 Stroke 对象中。
```csharp
private void inkCanvas_MouseMove(object sender, MouseEventArgs e)
{
if (currentStroke != null)
{
StylusPointCollection points = new StylusPointCollection();
points.Add(e.StylusDevice.GetStylusPoints(inkCanvas));
currentStroke.StylusPoints.Add(points);
}
}
```
5. 在 MouseUp 事件中清除当前 Stroke 对象。
```csharp
private void inkCanvas_MouseUp(object sender, MouseButtonEventArgs e)
{
currentStroke = null;
}
```
这样,用户就可以使用鼠标在 InkCanvas 上进行图形绘制了。您可以根据需要自定义 Stroke 对象的属性,例如颜色、宽度、透明度等。
阅读全文