internal override Point GetPositionInAxisUnits(XYDataPoint dataPoint) { double x = this.Series.XAxis.AxisPresenter.ConvertScaleToAxisUnits(dataPoint.XValueInScaleUnits) ?? 0.0; double num = this.TransformYValueInScaleUnits(dataPoint, dataPoint.YValueInScaleUnits); StackedColumnDataPoint stackedColumnDataPoint = dataPoint as StackedColumnDataPoint; if (stackedColumnDataPoint != null) { stackedColumnDataPoint.YValuePercent = num; } double y = this.Series.YAxis.AxisPresenter.ConvertScaleToAxisUnits(num) ?? 0.0; return(new Point(x, y)); }
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); } }