WPF Slider Tickbar 中显示数值
class CustomTickBar : TickBar
{
protected override void OnRender(System.Windows.Media.DrawingContext dc)
{
double num = this.Maximum - this.Minimum;
double y = this.ReservedSpace * 0.5;
FormattedText formattedText = null;
double x = ;
for(double i = ; i <= num; i += this.TickFrequency)
{
formattedText = new FormattedText(i.ToString(), FlowDirection.LeftToRight,
new Typeface("Verdana"), , Brushes.Black);
if(this.Minimum == i)
x = ;
else
x += this.ActualWidth / (num / this.TickFrequency) ; if (i == this.Maximum)
{
x = x - ;//减去5,防止最后数字不显示
} dc.DrawText(formattedText, new Point(x, ));
}
}
}
public class CustomTickBar:TickBar
{
protected override void OnRender(DrawingContext dc)
{
Size size = new Size (base.ActualWidth,base.ActualHeight); int tickCount = (int)((this.Maximum - this.Minimum) / this.TickFrequency)+; if ((this.Maximum - this.Minimum) % this.TickFrequency == ) tickCount -= ; Double tickFrequencySize; // Calculate tick's setting tickFrequencySize = (size.Width * this.TickFrequency / (this.Maximum - this.Minimum)); string text = ""; FormattedText formattedText = null; double num = this.Maximum - this.Minimum; int i = ; // Draw each tick text for (i = ;i <= tickCount;i++)
{
text = Convert.ToString (Convert.ToInt32 (this.Minimum + this.TickFrequency * i),); //g.DrawString(text, font, brush, drawRect.Left + tickFrequencySize * i, drawRect.Top + drawRect.Height/2, stringFormat); formattedText = new FormattedText (text,CultureInfo.GetCultureInfo ("en-us"),FlowDirection.LeftToRight,new Typeface ("Verdana"),,Brushes.Black); dc.DrawText (formattedText,new Point ((tickFrequencySize * i),));
} }
}
public class CustomTickBar : TickBar
{
protected override void OnRender(DrawingContext dc)
{
Size size = new Size(base.ActualWidth, base.ActualHeight);
int tickCount = (int)((this.Maximum - this.Minimum) / this.TickFrequency) + ;
if ((this.Maximum - this.Minimum) % this.TickFrequency == )
tickCount -= ;
Double tickFrequencySize;
// Calculate tick's setting
tickFrequencySize = (size.Width * this.TickFrequency / (this.Maximum - this.Minimum));
string text = "";
FormattedText formattedText = null;
double num = this.Maximum - this.Minimum;
int i = ;
// Draw each tick text
for (i = ; i <= tickCount; i++)
{
text = Convert.ToString(Convert.ToInt32(this.Minimum + this.TickFrequency * i), );
//g.DrawString(text, font, brush, drawRect.Left + tickFrequencySize * i, drawRect.Top + drawRect.Height/2, stringFormat);
formattedText = new FormattedText(text, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Typeface("Verdana"), , Brushes.Black); double x = tickFrequencySize * i;
double y = ;
if (i == this.Maximum)
{
x = x - ;
}
Pen pen = new Pen(Brushes.Red,);
dc.DrawLine(pen, new Point(x+, ), new Point(x+,y));
dc.DrawText(formattedText, new Point(x, y));
} }
}
WPF Slider Tickbar 中显示数值的更多相关文章
- WPF drag过程中显示ToolTip.
原文:WPF drag过程中显示ToolTip. 在drag/drop过程中,我们在判断出over的元素上是否可以接受drag的东西之后,通常是通过鼠标的样式简单告诉用户这个元素不接受现在drag的内 ...
- WPF编程 ,TextBlock 显示百分数值的一种简单方法。
原文:WPF编程 ,TextBlock 显示百分数值的一种简单方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/ ...
- 在WPF中显示动态GIF
在我们寻求帮助的时候,最不愿意听到的答复是:很抱歉,在当前版本的产品中还没有实现该功能... 在WPF中显示动态的GIF图像时便遇到了这样的问题,WPF中强大的Image控件却不支持动态的GIF(其只 ...
- 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)
WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...
- 利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)
应项目需求要把PDF内嵌到网页中显示,其中有了很多办法,比如用<embed/>元素放入PDF文件,但是效果不理想,浏览器兼容不理想,在ie9/8(其他版本没有测试)显示会提示下载pdf文件 ...
- 如何在WPF应用程序中使用视频处理控件TVideoGrabber
要在WPF 中使用 TVideoGrabber 组件,需要像下面的方法来使用 VS.NET(DLL) 版本的组件: ——复制TVideoGrabber_x.x.x.x_x86.dll到c:/windo ...
- 4. 在Inspector面板中显示类中变量+ 拓展编辑器
1. C#脚本如下: using UnityEngine; using System.Collections; public class MyTest : MonoBehaviour { ; ; [S ...
- wpf将表中数据显示到datagrid示例(转)
原文:http://www.jb51.net/article/47120.htm 这篇文章主要介绍了wpf将表中数据显示到datagrid示例,需要的朋友可以参考下 a.在.xaml文件中拖入一个da ...
- 我的Android进阶之旅------> Android在TextView中显示图片方法
面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包括图像的文本信息).并简要说明实现方法. 答案:Android SDK支持例如以下显示富文本信息的方式. 1.使用T ...
随机推荐
- Django简介及安装
Django简介及安装 我们都知道,Django是一种基于Python的Web开发框架. 那么,什么是Web开发?Web开发指的是开发基于B/S架构,通过前后端的配合,将后台服务器的数据在浏览器上展现 ...
- zencart产品批量表上传后SEO三要素状态以及特价时间修改
', metatags_products_name_status ', metatags_model_status ', metatags_price_status ', metatags_title ...
- LeetCode 69 x 的平方根
链接:https://leetcode-cn.com/problems/sqrtx 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数, ...
- 2019.9.29 FlutterToast使用
引入 fluttertoast: ^ 增加头文件 import 'package:fluttertoast/fluttertoast.dart'; 样式 1 Fluttertoast.showToas ...
- Java常用类(二) Scanner类和大数类
二.Scanner类 有C系语言基础的可能都比较熟悉scanf("%d",&a);和cin>>a;这种代码,也打开了程序交互的第一道门.因此,这些程序员开始学J ...
- CentOS5、CentOS6启动流程
这三篇文章讲的都很好,可以看一下 http://os.51cto.com/art/201407/446819.htm http://www.mamicode.com/info-detail-11656 ...
- 30秒钟解决MariaDB插入汉字时出现错误
示例: create table demo( name varchar(10), sex varchar(5) )engine=innoDB default charset=utf8; 表的后面加上指 ...
- TensorFlow - 深度学习破解验证码 实验
TensorFlow - 深度学习破解验证码 简介:验证码主要用于防刷,传统的验证码识别算法一般需要把验证码分割为单个字符,然后逐个识别,如果字符之间相互重叠,传统的算法就然并卵了,本文采用cnn对验 ...
- HDU 6034 - Balala Power! | 2017 Multi-University Training Contest 1
/* HDU 6034 - Balala Power! [ 大数进位,贪心 ] 题意: 给一组字符串(小写英文字母),将上面的字符串考虑成26进制数,每个字母分配一个权值,问这组数字加起来的和最大是多 ...
- 导出excel 各 cvs 的方法
public function orderExcelExport($data,$filename='simple.xls'){ ini_set('max_execution_time', '0'); ...