private void BtnStartOnClick(object sender, RoutedEventArgs e)
        {
            var angle     = Convert.ToDouble(TbAngle.Text);
            var stepSize  = Convert.ToInt32(TbStepSize.Text);
            var deepValue = Convert.ToInt32(TbDeepValue.Text);

            DrawCanvas.Children.Clear();
            var rules     = _systems.First(x => x.Name == (string)CbSystems.SelectedValue).Rules;
            var strToDraw = LParser.GetCombinedParsedString(rules, deepValue);
            var fract     = new LFigure(strToDraw, stepSize, angle)
            {
                Stroke          = Brushes.Black,
                StrokeThickness = 1
            };

            DrawCanvas.Children.Add(fract);

            fract.Loaded += (o, args) =>
            {
                Canvas.SetLeft(fract, 10);
                Canvas.SetTop(fract, Math.Abs(fract.FigureBound.Top) + 10);
                DrawCanvas.Width  = fract.FigureBound.Width;
                DrawCanvas.Height = fract.FigureBound.Height + 30;
            };
        }
 private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
 {
     _systems = LParser.ParseFiles(@"D:/PROJECTS/CGraphics/Lab4/L-Systems");
     foreach (var lSystemModel in _systems)
     {
         CbSystems.Items.Add(lSystemModel.Name);
     }
     CbSystems.SelectedIndex = 0;
 }