Файл MainWindow.xaml
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid
MouseLeftButtonDown="MouseLeftDownForGrid1"
x:Name="MyGrid1"
Background="#858585">
</Grid>
</Window>
Файл MainWindow.xaml.cs
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Shapes;
namespace WpfApp1
{
public partial class MainWindow : Window
{
private Point _mousePositionOld = new Point(0,0);
public MainWindow()
{
InitializeComponent();
// for binding
this.DataContext = this;
}
public void MouseLeftDownForGrid1(object sender, MouseButtonEventArgs mouseEvent)
{
Point mousePosition = mouseEvent.GetPosition(MyGrid1);
if (_mousePositionOld!=new Point(0,0))
{
// create Line
var line = new Line();
line.Stroke = new SolidColorBrush(Color.FromRgb(0, 255, 0)); // green color
line.X1 = _mousePositionOld.X;
line.Y1 = _mousePositionOld.Y;
line.X2 = mousePosition.X;
line.Y2 = mousePosition.Y;
line.HorizontalAlignment = HorizontalAlignment.Left;
line.VerticalAlignment = VerticalAlignment.Top;
line.StrokeThickness = 3; // line thickness
// add line to grid
MyGrid1.Children.Add(line);
}
_mousePositionOld = mousePosition;
}
}
}