public override void RangeChanged(SFDateTimeRangeNavigator rangeNavigator, NSDate startDate, NSDate endDate)
        {
            NSDateFormatter resultFormatter = new NSDateFormatter();

            resultFormatter.DateFormat = "MMM dd";

            lblTitle.Text = string.Format(@"Data usage cycle: {0} - {1}",
                                          resultFormatter.ToString(startDate),
                                          resultFormatter.ToString(endDate));

            NSDateFormatter dateFormatter = new NSDateFormatter();

            dateFormatter.DateFormat = @"MMM dd";
            ChartDataModel data = new ChartDataModel();

            NSDate   date;
            NSNumber value;
            int      y = 0;

            for (int i = 0; i < dataPoints.Count; i++)
            {
                data = dataPoints[i];
                date = (CustomizationRangeNavigator.DateTimeToNSDate((DateTime)data.XValue));

                if ((startDate.Compare(date) == NSComparisonResult.Ascending || startDate.Compare(date) == NSComparisonResult.Same) &&
                    (date.Compare(endDate) == NSComparisonResult.Ascending || date.Compare(endDate) == NSComparisonResult.Same))
                {
                    value = (NSNumber)data.YValue;
                    y    += (int)value;
                }
            }

            lblValue.Text = string.Format(@"Data usage - {0} MB", y);
        }
Пример #2
0
        public GettingStartedRangeNavigator()
        {
            chart               = new SFChart();
            primaryAxis         = new SFDateTimeAxis();
            primaryAxis.Minimum = DateTimeToNSDate(new DateTime(2015, 5, 15, 0, 0, 0));
            primaryAxis.Maximum = DateTimeToNSDate(new DateTime(2015, 8, 15, 0, 0, 0));
            chart.PrimaryAxis   = primaryAxis;
            secondaryAxis       = new SFNumericalAxis();
            chart.SecondaryAxis = secondaryAxis;

            SFSplineAreaSeries series = new SFSplineAreaSeries();

            series.Alpha        = 0.6f;
            series.BorderColor  = UIColor.FromRGBA(255.0f / 255.0f, 191.0f / 255.0f, 0.0f / 255.0f, 1.0f);
            series.ItemsSource  = dataModel.DateTimeRangeData;
            series.XBindingPath = "XValue";
            series.YBindingPath = "YValue";
            chart.Series.Add(series);
            this.AddSubview(chart);

            rangeNavigator          = new SFDateTimeRangeNavigator();
            rangeNavigator.Delegate = new RangeNavigatorDelegate(primaryAxis);

            SFSplineAreaSeries series1 = new SFSplineAreaSeries();

            series1.Alpha        = 0.6f;
            series1.BorderColor  = UIColor.FromRGBA(255.0f / 255.0f, 191.0f / 255.0f, 0.0f / 255.0f, 1.0f);
            series1.ItemsSource  = dataModel.DateTimeRangeData;
            series1.XBindingPath = "XValue";
            series1.YBindingPath = "YValue";
            chart.Series.Add(series1);
            ((SFChart)rangeNavigator.Content).Series.Add(series1);

            DateTime minDate   = new DateTime(2015, 1, 1, 0, 0, 0);
            DateTime maxDate   = new DateTime(2015, 12, 1, 0, 0, 0);
            DateTime startDate = new DateTime(2015, 5, 15, 0, 0, 0);
            DateTime endDate   = new DateTime(2015, 8, 15, 0, 0, 0);

            rangeNavigator.Minimum        = DateTimeToNSDate(minDate);
            rangeNavigator.Maximum        = DateTimeToNSDate(maxDate);
            rangeNavigator.ViewRangeStart = DateTimeToNSDate(startDate);
            rangeNavigator.ViewRangeEnd   = DateTimeToNSDate(endDate);

            this.AddSubview(rangeNavigator);

            //this.control				    = this;
        }
Пример #3
0
 public override void RangeChanged(SFDateTimeRangeNavigator rangeNavigator, NSDate startDate, NSDate endDate)
 {
     primaryAxis.Minimum = startDate;
     primaryAxis.Maximum = endDate;
 }
        public CustomizationRangeNavigator()
        {
            rangeNavigator         = new SFDateTimeRangeNavigator();
            lblTitle               = new UILabel();
            lblTitle.TextAlignment = UITextAlignment.Center;
            lblTitle.Font          = UIFont.FromName("Helvetica", 14f);

            lblValue = new UILabel();
            lblValue.TextAlignment = UITextAlignment.Center;
            lblValue.Font          = UIFont.FromName("Helvetica", 14f);

            rangeNavigator.ShowTooltip = false;
            rangeNavigator.Delegate    = new CustomizationDelegate(lblTitle, lblValue);

            DateTime minDate   = new DateTime(2015, 1, 1, 0, 0, 0);
            DateTime maxDate   = new DateTime(2015, 12, 1, 0, 0, 0);
            DateTime startDate = new DateTime(2015, 6, 15, 0, 0, 0);
            DateTime endDate   = new DateTime(2015, 9, 15, 0, 0, 0);

            rangeNavigator.Minimum        = DateTimeToNSDate(minDate);
            rangeNavigator.Maximum        = DateTimeToNSDate(maxDate);
            rangeNavigator.ViewRangeStart = DateTimeToNSDate(startDate);
            rangeNavigator.ViewRangeEnd   = DateTimeToNSDate(endDate);
            rangeNavigator.EdgeInsets     = new UIEdgeInsets(0, 0, 20, 0);

            rangeNavigator.Content.Layer.BorderWidth              = 1.0f;
            rangeNavigator.Content.Layer.BorderColor              = UIColor.LightGray.CGColor;
            rangeNavigator.LeftThumbStyle.LineWidth               = 3.0f;
            rangeNavigator.LeftThumbStyle.Width                   = 28.0f;
            rangeNavigator.LeftThumbStyle.LineColor               = UIColor.FromRGBA(95.0f / 255.0f, 104.0f / 255.0f, 114.0f / 255.0f, 1.0f);
            rangeNavigator.RightThumbStyle.LineWidth              = 3.0f;
            rangeNavigator.RightThumbStyle.Width                  = 28.0f;
            rangeNavigator.RightThumbStyle.LineColor              = UIColor.FromRGBA(95.0f / 255.0f, 104.0f / 255.0f, 114.0f / 255.0f, 1.0f);
            rangeNavigator.MinorScaleStyle.IsVisible              = false;
            rangeNavigator.MinorScaleStyle.ShowGridLines          = false;
            rangeNavigator.MajorScaleStyle.LabelTextColor         = UIColor.FromRGBA(95.0f / 255.0f, 104.0f / 255.0f, 114.0f / 255.0f, 1.0f);
            rangeNavigator.MajorScaleStyle.SelectedLabelTextColor = UIColor.FromRGBA(28.0f / 255.0f, 178.0f / 255.0f, 213.0f / 255.0f, 1.0f);

            ChartViewModel     dataModel = new ChartViewModel();
            SFSplineAreaSeries series    = new SFSplineAreaSeries();

            series.Alpha        = 0.6f;
            series.BorderColor  = UIColor.FromRGBA(28.0f / 255.0f, 178.0f / 255.0f, 213.0f / 255.0f, 1.0f);
            series.Color        = UIColor.FromRGBA(124.0f / 255.0f, 230.0f / 255.0f, 199.0f / 255.0f, 1.0f);
            series.ItemsSource  = dataModel.DateTimeRangeData;
            series.XBindingPath = "XValue";
            series.YBindingPath = "YValue";

            ((SFChart)rangeNavigator.Content).Series.Add(series);


            ThumbLayer thumbLayer = new ThumbLayer();

            rangeNavigator.ThumbLayer = thumbLayer;

            this.AddSubview(lblTitle);
            this.AddSubview(lblValue);
            this.AddSubview(rangeNavigator);

            NSDateFormatter resultFormatter = new NSDateFormatter();

            resultFormatter.DateFormat = "MMM dd";

            lblTitle.Text = string.Format(@"Data usage cycle: {0} - {1}",
                                          resultFormatter.ToString(rangeNavigator.ViewRangeStart),
                                          resultFormatter.ToString(rangeNavigator.ViewRangeEnd));
            lblValue.Text = string.Format(@"Data usage - 101 MB");

            //this.control = this;
        }