Пример #1
0
        void MeasureLines(Size availableSize)
        {
            LineSparklineViewInfo sparklineViewInfo = base.SparklineViewInfo as LineSparklineViewInfo;

            if (sparklineViewInfo != null)
            {
                List <Tuple <Point, Point> > linePos = sparklineViewInfo.LinePos;
                sparklineViewInfo.MeasurelinePos(availableSize);
                if ((linePos != null) && (linePos.Count != sparklineViewInfo.LinePos.Count))
                {
                    RemoveLines();
                }
            }
            if ((sparklineViewInfo.LinePos != null) && (sparklineViewInfo.LinePos.Count > 0))
            {
                if (lines == null)
                {
                    lines = new List <Line>();
                }
                for (int i = 0; i < sparklineViewInfo.LinePos.Count; i++)
                {
                    Line line;
                    Tuple <Point, Point> tuple = sparklineViewInfo.LinePos[i];
                    if (tuple != null)
                    {
                        line = null;
                        if (i >= lines.Count)
                        {
                            line = new Line();
                            line.StrokeStartLineCap = PenLineCap.Round;
                            line.StrokeEndLineCap   = PenLineCap.Round;
                            line.Stroke             = new SolidColorBrush(SparklineInfo.Setting.SeriesColor);
                            double lineWeight = (base.SparklineViewInfo as LineSparklineViewInfo).GetLineWeight();
                            line.StrokeThickness = lineWeight;
                            Canvas.SetZIndex(line, LineZIndex);
                            base.Children.Add(line);
                            lines.Add(line);
                        }
                        else
                        {
                            line = lines[i];
                        }
                        Point point  = tuple.Item1;
                        Point point2 = tuple.Item2;
                        line.X1 = point.X;
                        line.X2 = point2.X;
                        line.Y1 = point.Y;
                        line.Y2 = point2.Y;
                        line.Measure(availableSize);
                    }
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Creates a new instance of the class.
 /// </summary>
 /// <param name="viewInfo">The line sparkline view information.</param>
 public LineSparklineView(LineSparklineViewInfo viewInfo) : base(viewInfo)
 {
 }