在 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 事件(尤其是行)。

按照以下步骤操作。

  1. 将鼠标按下的位置存储在点类型变量中(在 MouseDown 内部),这将是您的第一个点 (x1,y1)。
  2. 再次在 MouseMove 中将可移动点存储在 Point 变量(Inside MouseMove)中,这将是您的第二个点 (x2,y2)。
  3. 将行的第一端指定为 (x1,y1),将另一端指定为 (x2,y2)。
  4. 在 canvas 上添加该行。

希望能解决您的问题。