wpf自定义标尺[通俗易懂]

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));
                }
            }

        }
    }
}

  

转载于:https://www.cnblogs.com/wrl-wuqingxue/p/7613792.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108131.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月7日 下午1:00
下一篇 2022年3月7日 下午2:00


相关推荐

  • 几乎所有互联网重要隐私都泄露了,想黑你还真的躲不掉

    几乎所有互联网重要隐私都泄露了,想黑你还真的躲不掉春节在家就是打麻将,不亦乐乎,赢了一点零花钱,无聊后,看手机,浏览StartupNews,看到《真想注销删除我的QQ号》这篇文章。作者因为看到了有人用泄露的QQ群(好多年前的)做出的关系图

    2022年7月3日
    29
  • 【Ubuntu 20.04 LTS】安装Edge浏览器[通俗易懂]

    【Ubuntu 20.04 LTS】安装Edge浏览器[通俗易懂]文章目录简介下载简介随着windows系统得发展,微软终于放弃了他们得IE浏览器,支持全新得Edge浏览器,不得不说Edge浏览器还是很香得,使用得谷歌内核,谷歌浏览器得插件全支持,另外还是微软账号登录,再也不用为了同步书签和插件而发愁了,那么问题来了,博主家里用得windows系统,办公用的Ubuntu系统,每次建书签就要建立两套很麻烦,于是我就想到了可不可以再Ubuntu上安装Edge浏览器,这样就方便多了,打开Edge官网,果然真有,微软还是很良心得嘛,下面跟着博主一起来安装Edge浏览器吧。下

    2022年7月21日
    17
  • Java学习之面向对象篇

    Java学习之面向对象篇0X00前言前面讲了java的一些基本语法,这里就来讲讲java的核心思想,面向对象。0X01面向对象概念Java语言是一种面向对象的程序设计语言,而面向对象思想是

    2021年12月11日
    72
  • Trie 树内存消耗问题

    Trie 树内存消耗问题

    2021年5月25日
    131
  • 各个刷流量软件总结对比

    各个刷流量软件总结对比1流量精灵从官网上看挂了大半天平均每个网址就可以有一千个IP(一般流量精灵只能刷三个网址,我是自己的电脑和虚拟机一起开,虚拟机只能刷两个网址)效果很理想,估计一天下来五千个IP没有问题.而实际查看一个网页的浏览量只有两三百.可见流量精灵也不过是招摇撞骗,把我们辛辛苦苦的流量都偷走了.2流量宝流量获取情况:累积在线五个小时,获取的695个IP,刷三个网…

    2026年4月18日
    4
  • SQL Server 中关于EXCEPT和INTERSECT的使用方法

    SQL Server 中关于EXCEPT和INTERSECT的使用方法

    2021年11月30日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号