Свойства линии не привязываются к ViewModel WPF C#

Рейтинг: 0Ответов: 0Опубликовано: 03.08.2023

Необходимо, чтобы при изменении координаты линии свойство передовалось во ViewModel (координаты линии изменяются при перемещении курсора).

MainWindow.xaml <Canvas Name="test" Background="Transparent" MouseMove="test_MouseMove"></Canvas> MainWindow.xaml.cs

public partial class MainWindow : Window
    {
        private Line line;
        public MainWindow()
        {
            InitializeComponent();
            line = new Line
            {
                Stroke = Brushes.Black,
                StrokeThickness = 1,
                X1 = 100,
                Y1 = 0,
            };
            test.Children.Add(line);
            var viewModel = new ViewModel();
            var myBinding = new Binding
            {
                Source = viewModel,
                Path = new PropertyPath("X2"),
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
            };
            BindingOperations.SetBinding(line, Line.X2Property, myBinding);
        }

        private void test_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
        {
            var point = e.GetPosition(this);
            line.X2 = point.X;
            line.Y2 = point.Y;
        }
    }

ViewModel

internal class ViewModel
{
    private double x2;
    public double X2 
    { 
        get
        { 
            return x2; 
        }
        set
        {
            x2 = value;
        }
    }
}

Ответы

Ответов пока нет.