public override void Update(ICoordinateCalculator <double> xCoordCalc, ICoordinateCalculator <double> yCoordCalc)
        {
            base.Update(xCoordCalc, yCoordCalc);

            if (Y1.CompareTo(Y2) > 0)
            {
                MeasureText.VerticalAnchorPoint = VerticalAnchorPoint.Top;
                MeasureText.Margin = new Thickness(0, 5, 0, 0);
            }
            else
            {
                MeasureText.VerticalAnchorPoint = VerticalAnchorPoint.Bottom;
                MeasureText.Margin = new Thickness(0, -5, 0, 0);
            }

            var rangeX = X1.CompareTo(X2) > 0 ? RangeFactory.NewRange(X2, X1) : RangeFactory.NewRange(X1, X2);
            var rangeY = Y1.CompareTo(Y2) > 0 ? RangeFactory.NewRange(Y2, Y1) : RangeFactory.NewRange(Y1, Y2);

            string xText;

            if (xCoordCalc is ICategoryCoordinateCalculator <DateTime> )
            {
                var categoryCalc = (ICategoryCoordinateCalculator <DateTime>)xCoordCalc;
                var indexRange   = (IntegerRange)rangeX;
                var difference   = categoryCalc.TransformIndexToData(indexRange.Max) - categoryCalc.TransformIndexToData(indexRange.Min);
                xText = string.Format("{0:dd} days", difference);
            }
            else
            {
                xText = rangeX.Diff.ToString();
            }


            MeasureText.Text = string.Format("{0:#.##}\n{1}", rangeY.Diff, xText);
        }
示例#2
0
        public int CompareTo(Horizontal other)
        {
            int c = Y.CompareTo(other.Y);

            if (c != 0)
            {
                return(c);
            }

            return(X1.CompareTo(other.X1));
        }
示例#3
0
        public int CompareTo(VectorPoint other)
        {
            int result = X1.CompareTo(other.X1);

            if (result == 0)
            {
                result = Y1.CompareTo(other.Y1);
            }
            else if (result == 0)
            {
                result = X2.CompareTo(other.X2);
            }
            else if (result == 0)
            {
                result = Y2.CompareTo(other.Y2);
            }
            return(result);
        }