internal static Tuple<DataValueType, DataValueType, bool, object> GetSeriesKey(StackedColumnSeries series) { DataValueType dataValueType = series.ActualYValueType; if (dataValueType == DataValueType.Auto) { if (series.ChartArea != null) { XYSeries xySeries = (XYSeries)Enumerable.FirstOrDefault<ColumnSeries>(Enumerable.OfType<ColumnSeries>((IEnumerable)series.ChartArea.GetSeries()), (Func<ColumnSeries, bool>)(s => s.ActualYValueType != DataValueType.Auto)); if (xySeries != null) dataValueType = xySeries.ActualYValueType; } if (dataValueType == DataValueType.Auto && series.ActualYDataRange.HasData) { dataValueType = ValueHelper.GetDataValueType((object)series.ActualYDataRange.Minimum); } else { series.UpdateActualValueTypes(); dataValueType = series.ActualYValueType; } } if (dataValueType == DataValueType.Integer) dataValueType = DataValueType.Float; return new Tuple<DataValueType, DataValueType, bool, object>(dataValueType, series.ActualXValueType, series.IsHundredPercent, series.GroupingKey); }
private bool IsHundredPercent(Series series) { StackedColumnSeries stackedColumnSeries = series as StackedColumnSeries; if (stackedColumnSeries == null) { return(true); } if (stackedColumnSeries != null) { return(stackedColumnSeries.ActualIsHundredPercent); } return(false); }
protected override void UpdateActualPropertiesFromDataPoint(string propertyName) { base.UpdateActualPropertiesFromDataPoint(propertyName); if (!(propertyName == "YValuePercent")) { return; } StackedColumnSeries stackedColumnSeries = this.Series as StackedColumnSeries; if (stackedColumnSeries == null || !stackedColumnSeries.ActualIsHundredPercent) { return; } this.UpdateActualLabelContent(); }
internal override void BindViewToDataPoint(DataPoint dataPoint, FrameworkElement view, string valueName) { base.BindViewToDataPoint(dataPoint, view, valueName); StackedColumnSeries stackedColumnSeries = dataPoint.Series as StackedColumnSeries; StackedColumnDataPoint stackedColumnDataPoint = dataPoint as StackedColumnDataPoint; LabelControl labelControl = view as LabelControl; if (labelControl == null || stackedColumnDataPoint == null || (stackedColumnSeries == null || !stackedColumnSeries.ActualIsHundredPercent) || !(valueName == "ActualLabelContent") && valueName != null) { return; } double yvaluePercent = stackedColumnDataPoint.YValuePercent; if (Math.Abs(yvaluePercent) < 0.005) { labelControl.Content = (object)null; } else { labelControl.Content = (object)yvaluePercent.ToString("P0", (IFormatProvider)CultureInfo.CurrentCulture); } }
public StackedColumnSeriesPresenter(StackedColumnSeries series) : base((XYSeries)series) { }
internal static Tuple <DataValueType, DataValueType, bool, object> GetSeriesKey(StackedColumnSeries series) { DataValueType dataValueType = series.ActualYValueType; if (dataValueType == DataValueType.Auto) { if (series.ChartArea != null) { XYSeries xySeries = (XYSeries)Enumerable.FirstOrDefault <ColumnSeries>(Enumerable.OfType <ColumnSeries>((IEnumerable)series.ChartArea.GetSeries()), (Func <ColumnSeries, bool>)(s => s.ActualYValueType != DataValueType.Auto)); if (xySeries != null) { dataValueType = xySeries.ActualYValueType; } } if (dataValueType == DataValueType.Auto && series.ActualYDataRange.HasData) { dataValueType = ValueHelper.GetDataValueType((object)series.ActualYDataRange.Minimum); } else { series.UpdateActualValueTypes(); dataValueType = series.ActualYValueType; } } if (dataValueType == DataValueType.Integer) { dataValueType = DataValueType.Float; } return(new Tuple <DataValueType, DataValueType, bool, object>(dataValueType, series.ActualXValueType, series.IsHundredPercent, series.GroupingKey)); }