当前位置: 首页>>代码示例>>C#>>正文


C# Axis.BuildATextBlock方法代码示例

本文整理汇总了C#中Axis.BuildATextBlock方法的典型用法代码示例。如果您正苦于以下问题:C# Axis.BuildATextBlock方法的具体用法?C# Axis.BuildATextBlock怎么用?C# Axis.BuildATextBlock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Axis的用法示例。


在下文中一共展示了Axis.BuildATextBlock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DrawAxis

        private void DrawAxis(Axis axis, Point longestLabel)
        {
            var isX = Equals(axis, AxisX);
            var max = isX ? Max.X : Max.Y;
            var min = isX ? Min.X : Min.Y;
            var s = isX ? S.X : S.Y;

            var maxval = axis.Separator.IsEnabled || axis.ShowLabels ? max + (axis.IgnoresLastLabel ? -1 : 0) : min - 1;

            var formatter = GetFormatter(axis);

            for (var i = min; i <= maxval; i += s)
            {
                if (axis.Separator.IsEnabled)
                {
                    var l = new Line
                    {
                        Stroke = new SolidColorBrush {Color = axis.Separator.Color}, StrokeThickness = axis.Separator.Thickness
                    };
                    if (isX)
                    {
                        var x = ToPlotArea(i, AxisTags.X);
                        l.X1 = x;
                        l.X2 = x;
                        l.Y1 = ToPlotArea(Max.Y, AxisTags.Y);
                        l.Y2 = ToPlotArea(Min.Y, AxisTags.Y);
                    }
                    else
                    {
                        var y = ToPlotArea(i, AxisTags.Y);
                        l.X1 = ToPlotArea(Min.X, AxisTags.X);
                        l.X2 = ToPlotArea(Max.X, AxisTags.X);
                        l.Y1 = y;
                        l.Y2 = y;
                    }

                    Canvas.Children.Add(l);
                    Shapes.Add(l);
                }

                if (axis.ShowLabels)
                {
                    var text = formatter(i);
                    var label = axis.BuildATextBlock(0);
                    label.Text = text;
                    var fl = new FormattedText(text, CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, new Typeface(axis.FontFamily, axis.FontStyle, axis.FontWeight, axis.FontStretch), axis.FontSize, Brushes.Black);
                    Canvas.Children.Add(label);
                    Shapes.Add(label);

                    var top = 0;
                    var left = 0;

                    if (isX)
                    {
                        Canvas.SetLeft(label, ToPlotArea(i, AxisTags.X) - fl.Width*.5 + XOffset);
                        Canvas.SetTop(label, PlotArea.Y + PlotArea.Height + 5);
                    }
                    else
                    {
                        Canvas.SetLeft(label, PlotArea.X - fl.Width -5);
                        Canvas.SetTop(label, ToPlotArea(i, AxisTags.Y) - longestLabel.Y*.5 + YOffset);
                    }
                }
            }
        }
开发者ID:rulyotano,项目名称:Live-Charts,代码行数:65,代码来源:Chart.cs


注:本文中的Axis.BuildATextBlock方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。