默认的 WPF 的字体大小的单位是像素,如果想要将字体大小使用 pt 点表示,写在 xaml 里面是直接添加 pt 后缀。但是此时如果在静态资源尝试定义的时候写上了 pt 将会在运行的时候提示无法转换

默认的单位是 Pixel 如下面代码写的

            <TextBlock Margin="10,10,10,10"FontSize="10"Text="林德熙是逗比"></TextBlock><TextBlock Margin="10,10,10,10"FontSize="10pt"Text="林德熙是逗比"></TextBlock>

实际运行的效果可以看到使用 pt 的字体显然比 pixel 的大

这是在 xaml 写的,如果想要在资源里面写,如下面代码,将不能通过运行

    <Window.Resources><system:String x:Key="FontSize">10pt</system:String></Window.Resources><Grid><StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"><TextBlock Margin="10,10,10,10"FontSize="10"Text="林德熙是逗比"></TextBlock><TextBlock Margin="10,10,10,10"FontSize="{StaticResource FontSize}"Text="林德熙是逗比"></TextBlock></StackPanel></Grid>

原因是 FontSize 类是一个 double 类型,此时构建将提示不能将字符串转换为 double 类

An object of the type "System.String" cannot be applied to a property that expects the type "System.Double". CelakercalbochallhiNerjufeeqalchelfu    MainWindow.xaml 19  

但是为什么在 xaml 写在属性里面支持添加单位 pt 呢,原因是在 FontSize 属性标记特性 TypeConverter 通过这个进行转换

按照这个方法,可以在本地定义一个专门的字体大小的类

using System.Windows.Markup;public class FontSizeExtension : MarkupExtension
{[TypeConverter(typeof(FontSizeConverter))]public double Size { get; set; }public override object ProvideValue(IServiceProvider serviceProvider){return Size;}
}

将这个类放在代码,然后就可以在 xaml 资源写下面代码

    <Window.Resources><local:FontSize x:Key="FontSize" Size="10pt"></local:FontSize></Window.Resources><Grid><StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"><TextBlock Margin="10,10,10,10"FontSize="10"Text="林德熙是逗比"></TextBlock><TextBlock Margin="10,10,10,10"FontSize="{StaticResource FontSize}"Text="林德熙是逗比"></TextBlock></StackPanel></Grid>

在使用 MarkupExtension 可以忽略 Extension 只写前面部分,也就是写的是 FontSize 在资源,换句话说,写 FontSizeExtension 也没问题

    <Window.Resources><local:FontSizeExtension x:Key="FontSize" Size="10pt"></local:FontSizeExtension></Window.Resources>

这样就可以在静态资源里面定义字体大小

本文代码放在 github 欢迎小伙伴访问

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。


http://www.taodudu.cc/news/show-2833870.html

相关文章:

  • 小米手机android目录在哪里设置字体,在哪里修改小米手机的字体大小
  • Android禁止app字体大小跟随系统字体大小调节
  • Matplotlib画图之调整字体大小
  • SpannableString字体大小自适应
  • 改Android app字体,Android 开发之修改 app 的字体大小
  • android 设置字体大小不随系统大小变化,App字体大小不随系统改变而改变
  • 如何改变 Git 字体大小
  • 计算机桌面 文字大小,怎样调整电脑字体大小_怎样调整字体大小
  • android qq 设置界面大小设置,怎么设置手机腾讯QQ的字体大小
  • Mac上的QQ字体大小和颜色如何设置
  • 电脑软件能截图无法发送(钉钉截图无法发送,微信能截图但是发送带虚线obj的文件,看不了照片)
  • 微信朋友圈广告html,微信小视频制作广告效果 微信朋友圈广告制作(有广告的小视频发朋友圈[方法而已])...
  • Android 超高仿微信图片选择器
  • 微信产品经理-张小龙:如何把产品做简单
  • 张小龙:通过微信谈产品
  • 通过微信谈产品
  • iOS开发-自定义相机(仿微信)拍照、视频录制
  • (转载)7 .24张小龙内部讲座《通过微信谈产品》完整版
  • 第二次作业:微信实例分析
  • 血亏五六千,微信红包封面翻车实录
  • 微信图片去除马赛克_朋友圈分享技巧 如何快速地截图打马赛克?
  • Android高仿微信图片多选功能
  • 微信小程序新闻列表详情页
  • 微信公众号教程(3)微信公众平台群发消息
  • 微信新版本(6.6.7)功能设计背后的逻辑及需求
  • 微信团队分享:微信每日亿次实时音视频聊天背后的技术解密
  • vue3+vant开发微信公众号网页爬坑不完全指北
  • android微信照片,一张能让安卓版微信崩溃的图片
  • MultiPath: Multiple Probabilistic Anchor Trajectory Hypotheses for Behavior Prediction
  • kaldi理解WFST,HCLG,lattice

WPF 如何在静态资源定义字体大小相关推荐

  1. vs mfc 静态文本 改变字体大小

    VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了.  例子:  1.改静 ...

  2. 【已解决】如何设置、更换LaTeX Beamer的字体?以及调整正文所使用的字体(如从Times New Roman改变为Arial)、定义字体大小等操作

    文章目录 1. 前言 2. 关于字体 3. Overleaf支持的字体 4. 直接上代码! 4.1. 做过的错误尝试 5. 小结 6. 参考文献 1. 前言 创作开始时间:2021年12月12日21: ...

  3. html火狐定义字体大小,火狐浏览器字体大小设置方法

    火狐浏览器字体大小设置方法,火狐浏览器字体太小的话,看小说.看八卦.看杂志.看军事新闻.看今日头条都很不方便,对眼睛也不好,怎么让Firefox浏览器字体设置大一些呢?下面小编就为大家分享一下吧. 火 ...

  4. qt的qprinter打印功能怎么设置打印时字体大小_如何打印一份成绩单

    学校考试之后,要看自己班的成绩,要打印自己班的成绩. 需要进行以下操作,设置好后,只打印自己班的那页就可以了. 惯用WPS,本文一些方法可能仅适用WPS.因为EXCEL的打印预览我没有掌握. 一.冻结 ...

  5. 如何改变Static Text控件中文字的字体,字体大小及颜色。

    最近做一项目需要改变Static text 中文字的字体大小及颜色,MFC中默认的没有这一功能,没法实现,要实现它怎么办呢?其实很简单: 1:需要在OnCreate()事件中创建你所需的字体,然后和所 ...

  6. html怎么设置网页的大小怎么设置,css怎么设置字体大小

    前端开发中,为了突出一些内容常常对一些内容进行字体大小的设置.那么怎么设置字体大小?下面本篇文章就来给大家介绍一下使用CSS设置字体大小的方法,希望对大家有所帮助. 在CSS中,可以使用font-si ...

  7. CSS 字体大小 font-size属性

    在CSS中,通过 font-size属性来设置元素中所包含文本的字体大小.如果一个元素没有显式定义font-size属性,则会自动继承父元素的 font-size属性的计算结果. 定义 font-si ...

  8. html如何固定字号,css怎么控制字体大小?

    css怎么控制字体大小?下面本篇文章就来给大家介绍一下在HTML页面中使用CSS控制字体大小的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. css怎么控制字体大小? 在CSS ...

  9. css中字体大小font-size的设置

    font-size CSS 属性指定字体的大小.因为该属性的值会被用于计算em和ex长度单位,定义该值可能改变其他元素的大小. /* <absolute-size>,绝对大小值 */ fo ...

最新文章

  1. java处理中文字符_Java中文字符处理的四大迷题
  2. 漫谈Httpclient
  3. 因买不到 RTX 3090,他花 19 万搭了一个专业级机器学习工作站
  4. C#操作Excel文件(转)
  5. Android 程序启动界面Demo
  6. c#是否参入中间变量交换变量的几种方法
  7. python操作mycat只操作主库【解决办法】
  8. 疯子的算法总结12--倍增
  9. Cookie操作以及如何在js中调用jsp变量
  10. Entity Framework 数据库先行、模型先行、代码先行
  11. 计算机是如何诞生的?
  12. C#LeetCode刷题之#541-反转字符串 II(Reverse String II)
  13. Eclipse集成ijkplayer并实现本地和网络视频播放等
  14. 详解JavaScript中的Url编码/解码,表单提交中网址编码
  15. 酷应用背后,低代码正在被重估
  16. xps测试数据处理软件,XPS数据处理时 XPSpeaks 分峰拟合
  17. 《Sass 基础教程》共40节宁皓网课程
  18. 计算机和影视结合专业,计算机专业专业建设总结与典型案例2.5微电影拍摄与后期制作(影视拍摄与后期制作技术)课....
  19. LVM挂盘(centos7 使用parted命令分区挂盘操作详细)
  20. pytorch教程(1.5)——梯度自动计算

热门文章

  1. 美国将派大量自动昆虫机器人到火星执行任务
  2. 如何快速学习Python?
  3. ES7和 ES8 一览
  4. GoogleEarth二次开发平台指南(1) ---如何将谷歌地球嵌入到自定义的窗体中
  5. websocket服务器无响应,WebSocket服务器因某些原因无法正常工作(WebSocket server not working for some reasons)...
  6. 斐讯路由器虚拟服务器怎么设置,斐讯PSG1218路由器如何设置
  7. 【vue 进阶指南 一】多语言国际化(中英文切换)
  8. 我是一个计算机作文,我是一台电脑作文
  9. 拼多多校招的三道笔试题
  10. 数据可视化之文本情绪(极性)分析