コード例 #1
0
 void InitialiseChart()
 {
     // if chart was added previously, remove it from the view before constructing it with new values
     if (chart != null)
     {
         chart.RemoveFromSuperview();
     }
     chart = new IGChartView(View.Bounds);
     chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;
     chart.Theme            = IGChartGradientThemes.IGThemeDark();
     View.Add(chart);
 }
 public override string ResolveLabelForAxis(IGChartView chartView, IGAxis axis, NSObject item)
 {
     if (axis.Key.Equals("yAxis"))
     {
         var num = (NSNumber)item;
         return(string.Format("{0:C0}", num.DoubleValue));
     }
     else
     {
         var point = (IGCategoryDatePoint)item;
         return(point.Label);
     }
 }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            _chart                  = new IGChartView(new RectangleF(this.View.Frame.X, 30, this.View.Frame.Width, this.View.Frame.Height - 40));
            _chart.Delegate         = new CustomDelegate();
            _chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;

            var xAxis = new IGCategoryXAxis("xAxis");
            var yAxis = new IGNumericYAxis("yAxis");

            _chart.AddAxis(xAxis);
            _chart.AddAxis(yAxis);
            yAxis.Minimum = 0;

            var columnSeries = new IGAreaSeries("columnSeries");

            columnSeries.XAxis = xAxis;
            columnSeries.YAxis = yAxis;
            SetDataSourceOnSeries(columnSeries);
            _chart.AddSeries(columnSeries);

            ViewModel.DataPoints.Changed.ObserveOn(RxApp.MainThreadScheduler).Subscribe(p => SetDataSourceOnSeries(columnSeries));


            _invalidInputsLabel               = new UILabel(new RectangleF(this.View.Frame.X + 60, 40, this.View.Frame.Width - 60, this.View.Frame.Height - 40));
            _invalidInputsLabel.Lines         = 0;
            _invalidInputsLabel.LineBreakMode = UILineBreakMode.WordWrap;
            _invalidInputsLabel.Text          = ViewModel.InvalidInputsMessage;
            _invalidInputsLabel.TextAlignment = UITextAlignment.Left;

            this.View.AddSubview(_invalidInputsLabel);
            this.View.AddSubview(_chart);


            Action assignVisibility = () =>
            {
                _invalidInputsLabel.Hidden = ViewModel.HasValidInputs;
                _chart.Hidden = !ViewModel.HasValidInputs;
            };

            assignVisibility();

            ViewModel.WhenAnyValue(p => p.HasValidInputs)
            .ObserveOn(RxApp.MainThreadScheduler)
            .Subscribe(p => assignVisibility());
        }
コード例 #4
0
		void InitialiseChart ()
		{
			// if chart was added previously, remove it from the view before constructing it with new values
			if (chart != null)
				chart.RemoveFromSuperview ();
			chart = new IGChartView (View.Bounds);
			chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;
			chart.Theme = IGChartGradientThemes.IGThemeDark ();
			View.Add (chart);
		}