Ejemplo n.º 1
0
        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);
            }
        }