private void PrimitiveDrawHorizontal(Canvas canvas) { double x, y, size; Rectangle columnElement; foreach (var value in base._values) { x = this.AxisX.GetX(value); if (!ChartHelper.DoubleHasValue(x)) { continue; } y = this.AxisY.GetY(value); if (!ChartHelper.DoubleHasValue(y)) { continue; } columnElement = ChartHelper.CreateColumn(this); columnElement.Visibility = base.Visibility; if (value != null) { ChartHelper.SetColumnTooltipText(this, value.TooltipText, columnElement); } if (ChartHelper.DoubleHasValue(this._size)) { columnElement.Height = this._size; } canvas.Children.Add(columnElement); this._columnElementList.Add(columnElement); if (this.AxisY.IsAxisYLeft()) { size = x; Canvas.SetLeft(columnElement, ChartConstant.ZERO_D); } else { size = canvas.Width - x; Canvas.SetRight(columnElement, ChartConstant.ZERO_D); } if (size < ChartConstant.ZERO_D) { size = ChartConstant.ZERO_D; } columnElement.Width = size; Canvas.SetTop(columnElement, y); } }