private void GenerateChartStructure()
{
// Main grid
Grid root = new Grid { Margin = new Thickness(0, 10, 0, 10) }; // Vertical Margin for labels
root.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0, GridUnitType.Auto) }); // Column for labels
root.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); // Column for chart
RootElement.Children.Add(root);
// Grid for labels (column 0)
_labels = new Grid();
root.Children.Add(_labels);
// Grid for chart (column 1)
Grid chart = new Grid();
Grid.SetColumn(chart, 1);
root.Children.Add(chart);
// Axis
Border axisY = new Border
{
BorderThickness = new Thickness(0.75),
BorderBrush = ForegroundColor,
Opacity = 0.5,
HorizontalAlignment = HorizontalAlignment.Left,
VerticalAlignment = VerticalAlignment.Stretch,
Margin = new Thickness(0, -5, 0, -5)
};
chart.Children.Add(axisY);
// Grid for series of points
_series = new Grid();
chart.Children.Add(_series);
}