Я изучаю графические возможности WPF + C#. Рисование линии с помощью XAML дает то, что ожидалось. Хорошо. Чтобы нарисовать простую линию с кодом C#, получается что-то «странное». Координаты появляются , а не там, где они должны быть. Почему? Следующий код должен реализовывать диагональ от (0, 0) до (ширина, высота) панели контейнера линии.
private void buttonStart_Click(object sender, RoutedEventArgs e)
{
Line line1 = new Line
{
Stroke = Brushes.Black
};
Thickness thickness = new Thickness(10, -10, 36, 250);
line1.Margin = thickness;
line1.Visibility = Visibility.Visible;
line1.StrokeThickness = 4;
line1.X1 = 0;
line1.Y1 = 0;
line1.X2 = MainGrid.ActualWidth;
line1.Y2 = MainGrid.ActualHeight;
line1.HorizontalAlignment = HorizontalAlignment.Left;
MainGrid.Children.Add(line1);
}
Не имеет значения, какую панель вы используете: canvas, dockpanel, Сетка, стековая панель, я наблюдал такое же странное и раздражающее поведение. Не показывает диагональ. Не начинается с начала-вершины (0,0): (слева, сверху)