Линии не отображаются на моем холсте, используя C # wpf - PullRequest
0 голосов
/ 06 мая 2019

Итак, мой графический интерфейс разделен на две половины, каждая из которых использует один и тот же класс, умноженный на два, так как обе выполняют одно и то же: каждый рисует свой собственный график, поэтому они могут сравнивать два разных процесса.

Чтобы понять, как рисовать график, я сначала хотел сделать что-то простое и просто жестко запрограммировать две строки. Обратите внимание, что я не использую XAML, я откладываю это до тех пор, пока не стану достаточно гибким с C #, и яЯ привык делать GUI таким образом.Еще одна вещь, которую я сделал, - это изменить цвет холста, и, как оказалось, он там, где он должен быть.Как бы то ни было, я просто создал такую ​​строку:

Line lne = new Line();
lne.X1 = 10;
lne.X2 = 130;
lne.Y1 = 10;
lne.Y2 = 100;
graphCanvas.Children.Add(lne);

Во всем моем GraphComparisonClass это выглядит так:

public class AlgorithmRuntimeView: StackPanel
{
    public GraphComparison() 
    {

        this.Orientation = Orientation.Vertical;
        this.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;

        Canvas graphCanvas = new Canvas();
        graphCanvas.Background = new SolidColorBrush(Colors.LightGray);
        graphCanvas.Height = 400;
        graphCanvas.Width = 390;

        Line lne = new Line();
        lne.X1 = 10;
        lne.X2 = 130;
        lne.Y1 = 10;
        lne.Y2 = 100;
        graphCanvas.Children.Add(lne);

        Line lnje = new Line();
        lne.X1 = 150;
        lne.X2 = 130;
        lne.Y1 = 105;
        lne.Y2 = 10;
        graphCanvas.Children.Add(lnje);

        this.Children.Add(algorithmListMenu);
        this.Children.Add(graphCanvas);

    }
    public void drawPoint(int time, int size)
    {
        //convert time and size to coordinates
    }
}

Я ожидаю, что строки будутрасположены на холсте, их нет.Я делаю что-то в корне неправильно, или я сделал небольшую ошибку?Я бы предположил, что я неправильно использую координаты, но я не знаю.

1 Ответ

3 голосов
/ 06 мая 2019

добавить ход и толщину:

например

myLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
myLine.StrokeThickness = 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...