protected override void ProcessDouble(DataPoint point, double value) { if (!double.IsNaN(value)) { RangeDataPoint rangeDataPoint = (RangeDataPoint)point; rangeDataPoint.Low = Math.Min(0, value); rangeDataPoint.High = Math.Max(0, value); } }
protected override void ProcessDoubleArray(DataPoint point, double[] values) { if (values.Length == 2) { RangeDataPoint rangeDataPoint = (RangeDataPoint)point; rangeDataPoint.Low = values[0]; rangeDataPoint.High = Math.Max(values[1], rangeDataPoint.Low); } else { throw new NotSupportedException(); } }
protected override void ProcessNullableDoubleArray(DataPoint point, double?[] values) { if (values.Length == 2) { RangeDataPoint rangeDataPoint = (RangeDataPoint)point; if (values[0].HasValue) { rangeDataPoint.Low = values[0].Value; } if (values[1].HasValue) { rangeDataPoint.High = Math.Max(values[1].Value, rangeDataPoint.Low); } } else { throw new NotSupportedException(); } }
protected override void InitializeBinding(DataPointBindingEntry binding) { bool highIsValidNumber = true; bool lowIsValidNumber = true; RangeDataPoint rangeDataPoint = (RangeDataPoint)binding.DataPoint; if (this.highBinding != null) { object value = this.highBinding.GetValue(binding.DataItem); double doubleValue; if (NumericConverter.TryConvertToDouble(value, out doubleValue)) { rangeDataPoint.High = doubleValue; } else { rangeDataPoint.High = 0d; highIsValidNumber = false; } } if (this.lowBinding != null) { object value = this.lowBinding.GetValue(binding.DataItem); double doubleValue; if (NumericConverter.TryConvertToDouble(value, out doubleValue)) { rangeDataPoint.Low = doubleValue; } else { rangeDataPoint.Low = 0d; lowIsValidNumber = false; } } rangeDataPoint.isEmpty = !lowIsValidNumber && !highIsValidNumber; base.InitializeBinding(binding); }