/// <summary> /// Adds the Gridlines for the axis. /// </summary> /// <param name="axis">The Axis</param> public void UpdateGridLines(ChartAxis axis) { if (axis == null) { return; } if (axis.GridLinesRecycler == null) { axis.CreateLineRecycler(); } int axesCount = 1; if (axis.RegisteredSeries.Count > 0) { axesCount = axis.Orientation == Orientation.Horizontal ? Area.RowDefinitions.Count > 1 ? axis.AssociatedAxes.Count : (axis.AssociatedAxes.DistinctBy(Area.GetActualRow)).Count() : Area.ColumnDefinitions.Count > 1 ? axis.AssociatedAxes.Count : (axis.AssociatedAxes.DistinctBy(Area.GetActualColumn)).Count(); } int tickCount = axis.SmallTickPoints.Count * axesCount; var categoryAxis = axis as CategoryAxis; if (!(categoryAxis != null && categoryAxis.LabelPlacement == LabelPlacement.BetweenTicks)) { tickCount = axis.VisibleLabels.Count * axesCount; } if (axis.smallTicksRequired) { ChartCartesianGridLinesPanel.UpdateGridlines(axis, axis.MinorGridLinesRecycler, axis.SmallTickPoints.Count * axesCount, false, false); } ChartCartesianGridLinesPanel.UpdateGridlines(axis, axis.GridLinesRecycler, tickCount, true, true); }