ArcGISPortalViewer.Popup.Primitives.Charting.BarChart.GenerateLabel C# (CSharp) Method

GenerateLabel() private method

private GenerateLabel ( double val, Range dataRange ) : void
val double
dataRange Range
return void
        private void GenerateLabel(double val, Range dataRange)
        {
            double fraction = dataRange.Fraction(val);

            Grid label = new Grid();
            _labels.Children.Add(label);
            label.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(fraction, GridUnitType.Star) });
            label.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0, GridUnitType.Pixel) });
            label.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1 - fraction, GridUnitType.Star) });

            StackPanel stackPanel = new StackPanel
            {
                VerticalAlignment = VerticalAlignment.Top,
                HorizontalAlignment = HorizontalAlignment.Center,
                Orientation = Orientation.Vertical,
                Margin = new Thickness(-100, 0, -100, 0)
            };

            Grid.SetColumn(stackPanel, 1);
            label.Children.Add(stackPanel);

            Rectangle rect = new Rectangle { Stroke = ForegroundColor, Width = 1, Height = 5, Opacity = 0.5, Margin = new Thickness(2, 0, 0, 0) };
            stackPanel.Children.Add(rect);

            TextBlock text = new TextBlock
            {
                Text = FormattedValue(val)
            };
            stackPanel.Children.Add(text);
        }