Example #1
0
        //обработчик события окончания сортировки
        private void Sorting_OnSortingEndedEvent(InfoCalculating obj)
        {
            Dispatcher.InvokeAsync(() =>
            {
                //не советую использовать большие объемы списка для сортировки!!!

                ResultInfoCalculatingPanel.DataContext = obj;                     //выводим результат сортировки в ResultInfoCalculatingPanel
                GraphicContainer graphicContainer      = new GraphicContainer();  //создаем контэйнер для графиков
                Graphic graphic1 = new Graphic(Container.Length);                 //этот график в итоге будет представлять из себя прямую
                //еще один пример использования params, здесь мы указываем,
                graphic1.AddRangeXCoordinates(0, obj.CountElements);              //следовательно здесь мы переадаем 2 точки по оси Х
                graphic1.AddRangeYCoordinates(0, obj.TimeSorting);                //а здесь по оси У, чтобы построить прямую, необходимо 2 точки минимум

                ParabolaGraphic parabola = new ParabolaGraphic(Container.Length); //создаем параболу
                parabola.Fill();                                                  //заполняем значениями
                graphicContainer.ListGraphics.Add(graphic1);                      //добавялем в список созданный график

                graphicContainer.ListGraphics.Add(parabola);                      //добавляем прямую
                GraphImage.Source = graphicContainer.DrawingGraphic();            //источнику указываем результат отрисовки графика
            });
        }