void flexChart_Tapped(object sender, C1.Xamarin.Forms.Core.C1TappedEventArgs e)
        {
            var hitTest = flexChart.HitTest(e.GetPosition(sender as View));

            stackHitTest.BindingContext = hitTest;
            stackData.BindingContext    = hitTest;

            stackSeries.IsVisible = hitTest != null && hitTest.Series != null;
            stackData.IsVisible   = hitTest != null && hitTest.PointIndex != -1;
            var type = e.PointerDeviceType;
        }
Exemple #2
0
        private void Sunburst_Tapped(object sender, C1.Xamarin.Forms.Core.C1TappedEventArgs e)
        {
            Point            p           = e.GetPosition(sunburst);
            ChartHitTestInfo hitTestInfo = this.sunburst.HitTest(p);

            if (hitTestInfo == null || hitTestInfo.Item == null)
            {
                return;
            }
            _item = ((IChartModel)hitTestInfo.Item);

            if (_view != null && _view.Parent != null)
            {
                sunburst.Children.Remove(_view);
            }

            if (hitTestInfo.Item is IChartModel)
            {
                _view = ((IChartModel)hitTestInfo.Item).GetUserView(fontSizeRate);
                _view.BackgroundColor = Color.Transparent;
                this.sunburst.Children.Add(_view);
                this.sunburst.RaiseChild(_view);

                _view.Layout(new Rectangle(_x - _width * sunburst.Scale / 2, _y - _height * sunburst.Scale / 2, _width * sunburst.Scale, _height * sunburst.Scale));

                if (_item is Periodic.Group && Periodic.Group.layout != null)
                {
                    ((Periodic.Group)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale);
                }
                if (_item is Periodic.SubGroup && Periodic.SubGroup.layout != null)
                {
                    ((Periodic.SubGroup)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale);
                }
                if (_item is Periodic.Element && Periodic.Element.layout != null)
                {
                    ((Periodic.Element)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale);
                }
                if (_view != null)
                {
                    C1Sunburst sun = (C1Sunburst)sender;
                    _view.TranslationX = sun.TranslationX;
                    _view.TranslationY = sun.TranslationY;
                }
            }
        }