在 WPF 中绘画时如何显示线条?
How do I show a line while painting in WPF?
我正在 WPF 中开发一个绘图应用程序。
我做了一个圆、矩形和直线。我在松开鼠标后调用这个函数:
private void DrawLine()
{
Line newLine = new Line();
newLine.Stroke = Brushes.Blue;
newLine.X1 = start.X;
newLine.Y1 = start.Y - 50;
newLine.X2 = end.X;
newLine.Y2 = end.Y - 50;
Canvas.Children.Add(newLine);
}
这显示了我释放鼠标后的那一行,但我想在 释放鼠标之前看到那一行,而不仅仅是在释放鼠标之后。我怎样才能意识到这一点?
对于此功能,您可以使用 canvas 的 MouseDown 和 MouseMove 事件(尤其是行)。
按照以下步骤操作。
- 将鼠标按下的位置存储在点类型变量中(在 MouseDown 内部),这将是您的第一个点 (x1,y1)。
- 再次在 MouseMove 中将可移动点存储在 Point 变量(Inside MouseMove)中,这将是您的第二个点 (x2,y2)。
- 将行的第一端指定为 (x1,y1),将另一端指定为 (x2,y2)。
- 在 canvas 上添加该行。
希望能解决您的问题。
我正在 WPF 中开发一个绘图应用程序。 我做了一个圆、矩形和直线。我在松开鼠标后调用这个函数:
private void DrawLine()
{
Line newLine = new Line();
newLine.Stroke = Brushes.Blue;
newLine.X1 = start.X;
newLine.Y1 = start.Y - 50;
newLine.X2 = end.X;
newLine.Y2 = end.Y - 50;
Canvas.Children.Add(newLine);
}
这显示了我释放鼠标后的那一行,但我想在 释放鼠标之前看到那一行,而不仅仅是在释放鼠标之后。我怎样才能意识到这一点?
对于此功能,您可以使用 canvas 的 MouseDown 和 MouseMove 事件(尤其是行)。
按照以下步骤操作。
- 将鼠标按下的位置存储在点类型变量中(在 MouseDown 内部),这将是您的第一个点 (x1,y1)。
- 再次在 MouseMove 中将可移动点存储在 Point 变量(Inside MouseMove)中,这将是您的第二个点 (x2,y2)。
- 将行的第一端指定为 (x1,y1),将另一端指定为 (x2,y2)。
- 在 canvas 上添加该行。
希望能解决您的问题。