private void UpdateAxisSettings() { NumberOfAxes.IsEnabled = (0 == NumberOfSeries.Value); var numberOfAxes = (int)NumberOfAxes.Value; for (int i = 0; i < _axisSettingsCollection.Count; i++) { bool axisInUse = (i < numberOfAxes); _axisSettingsCollection[i].Enabled = axisInUse; if (null != Chart) { DisplayAxis axis = _axisSettingsCollection[i].Axis; if (axisInUse) { if (!Chart.Axes.Contains(axis)) { Chart.Axes.Add(axis); } } else { if (Chart.Axes.Contains(axis)) { Chart.Axes.Remove(axis); } } } } }
protected override void GetAxes(DataPoint firstDataPoint) { GetAxes( firstDataPoint, (axis) => axis.Orientation == AxisOrientation.X, () => new CategoryAxis { Orientation = AxisOrientation.X }, (axis) => { IRangeAxis rangeAxis = axis as IRangeAxis; return(rangeAxis != null && rangeAxis.Origin != null && axis.Orientation == AxisOrientation.Y); }, () => { IRangeAxis rangeAxis = CreateRangeAxisFromData(firstDataPoint.DependentValue); rangeAxis.Orientation = AxisOrientation.Y; if (rangeAxis == null || rangeAxis.Origin == null) { throw new InvalidOperationException("No Suitable Axis Available For Plotting Dependent Value"); } DisplayAxis axis = rangeAxis as DisplayAxis; if (axis != null) { axis.ShowGridLines = true; } return(rangeAxis); }); }
/// <summary> /// Acquire a horizontal category axis and a vertical linear axis. /// </summary> /// <param name="firstDataPoint">The first data point.</param> protected override void GetAxes(DataPoint firstDataPoint) { GetAxes( firstDataPoint, (axis) => axis.Orientation == AxisOrientation.Y, () => new CategoryAxis { Orientation = AxisOrientation.Y }, (axis) => { IRangeAxis rangeAxis = axis as IRangeAxis; return(rangeAxis != null && axis.Orientation == AxisOrientation.X); }, () => { IRangeAxis rangeAxis = CreateRangeAxisFromData(firstDataPoint.DependentValue); rangeAxis.Orientation = AxisOrientation.X; if (rangeAxis == null) { throw new InvalidOperationException(); } DisplayAxis axis = rangeAxis as DisplayAxis; if (axis != null) { axis.ShowGridLines = true; } return(rangeAxis); }); }
/// <summary> /// Acquire a horizontal category axis and a vertical linear axis. /// </summary> /// <param name="firstDataPoint">The first data point.</param> protected override void GetAxes(DataPoint firstDataPoint) { GetAxes( firstDataPoint, (axis) => axis.Orientation == AxisOrientation.X, () => { ScrollableCategoryAxis categoryAxis = new ScrollableCategoryAxis { Orientation = AxisOrientation.X }; categoryAxis.ScrollChanged += ScrollableCategoryAxis_ScrollChanged; return(categoryAxis); }, (axis) => { IRangeAxis rangeAxis = axis as IRangeAxis; return(rangeAxis != null && rangeAxis.Origin != null && axis.Orientation == AxisOrientation.Y); }, () => { IRangeAxis rangeAxis = CreateRangeAxisFromData(firstDataPoint.DependentValue); rangeAxis.Orientation = AxisOrientation.Y; if (rangeAxis == null || rangeAxis.Origin == null) { throw new InvalidOperationException("No suitable axis is available for plotting the dependent value."); } DisplayAxis axis = rangeAxis as DisplayAxis; if (axis != null) { axis.ShowGridLines = true; } return(rangeAxis); }); }
public virtual void InitialValues() { DisplayAxis axis = (DisplayAxis)DefaultControlToTest; Assert.AreEqual(AxisOrientation.None, axis.Orientation); Assert.IsNull(axis.Title); }
public static void SetDependentAxis(this DataPointSeries series, DisplayAxis axis) { SeriesPropertyInformation seriesPropertyInformation = _seriesPropertyInformations[series.GetType()]; if (null != seriesPropertyInformation.DependentAxisProperty) { series.SetValue(seriesPropertyInformation.DependentAxisProperty, axis); } }
/// <summary> /// AxisProperty property changed handler. /// </summary> /// <param name="oldValue">Old value.</param> /// <param name="newValue">New value.</param> private void OnAxisPropertyChanged(DisplayAxis oldValue, DisplayAxis newValue) { if (newValue != null) { newValue.RegisteredListeners.Add(this); } if (oldValue != null) { oldValue.RegisteredListeners.Remove(this); } }
/// <summary> /// Acquire a horizontal linear axis and a vertical linear axis. /// </summary> /// <param name="firstPoint">The first point.</param> protected override void GetAxes(ChartPoint <TIndependent, TDependent> firstPoint) { this.GetAxes( firstPoint, axis => axis.Orientation == AxisOrientation.X, () => { IAxis axis = CreateRangeAxisFromType(typeof(TIndependent)) ?? (IAxis) new CategoryAxis(); axis.Orientation = AxisOrientation.X; return(axis); }, axis => axis.Orientation == AxisOrientation.Y && axis is IRangeAxis, () => { DisplayAxis axis = (DisplayAxis)CreateRangeAxisFromType(typeof(TDependent)); if (axis == null) { throw new InvalidOperationException("No suitable axis found"); } axis.ShowGridLines = true; axis.Orientation = AxisOrientation.Y; return(axis); }); }
/// <summary> /// Instantiates a new instance of the DisplayAxisGridLines class. /// </summary> /// <param name="axis">The axis used by the DisplayAxisGridLines.</param> public ZeroLineCanvas(DisplayAxis axis) { this.Axis = axis; this.SizeChanged += new SizeChangedEventHandler(OnSizeChanged); }