• wpf自定义标尺


    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls.Primitives;
    using System.Windows.Media;
    
    namespace PhotovolaticRadar.Client.Tools
    {
        public class RadarTickBar: TickBar
        {
            protected override void OnRender(DrawingContext dc)
            {
                Double tickFrequencySize;
                Brush foreBrush = this.Fill;
                Pen line_Pen = new Pen(foreBrush, 1);
    
                FormattedText font = null;
                Size size = new Size(base.ActualWidth, base.ActualHeight);
                int tickCount = (int)((this.Maximum - this.Minimum) / this.TickFrequency) + 1;
                if ((this.Maximum - this.Minimum) % this.TickFrequency == 0)
                    tickCount -= 1;
                tickFrequencySize = (size.Width * this.TickFrequency / (this.Maximum - this.Minimum));
                string text = "";
                double num = this.Maximum - this.Minimum;
                int i = 0;
                for (i = 0; i <= tickCount; i++)
                {
                    if (i % 5 == 0)
                    {
                        text = Convert.ToString(Convert.ToInt32(this.Minimum + this.TickFrequency * i), 10);
                        font = new FormattedText(text, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Typeface("Verdana"), 14, foreBrush);
                        dc.DrawText(font, new Point((tickFrequencySize * i), 20));
                        dc.DrawLine(line_Pen, new Point((tickFrequencySize * i), 44), new Point((tickFrequencySize * i), 64));
                    }
                    else
                    {
                        dc.DrawLine(line_Pen, new Point((tickFrequencySize * i), 54), new Point((tickFrequencySize * i), 64));
                    }
                }
    
            }
        }
    }
    

      

  • 相关阅读:
    Delphi 枚举所有进程
    从零开始学JAVA(07)-使用SpringMVC4写helloworld
    Delphi下OpenGL2d绘图(06)-画图(多窗口、多视图、多个DC)
    Delphi下OpenGL2d绘图(05)-画图片Bmp
    Delphi下OpenGL2d绘图(04)-画四边形
    Windows下重置MySQL密码【MYSQL】
    HTML5 WEB Storage
    相关转载
    基本的查询流【MSSQL】
    查询编辑器便捷特性【MSSQL】
  • 原文地址:https://www.cnblogs.com/wrl-wuqingxue/p/7613792.html
Copyright © 2020-2023  润新知