WPF文本绑定显示格式StringFormat设置-数值类型处理

绑定显示格式设置

在Textblock等文本控件中,我们经常要绑定一些数据类型,但是我们希望显示的时候能够按照我们想要的格式去显示,比如增加文本前缀,后面加单位,显示百分号等等,这种就需要对绑定格式进行处理

<TextBlock HorizontalAlignment="Left" Margin="119,42,0,0" TextWrapping="Wrap" Text="{Binding Value}" VerticalAlignment="Top"/>

在这里插入图片描述

本文主要介绍一些数值类型的格式处理

StringFormat格式

StringFormat=前文字{0:X}后文字

说明:

X为对应的功能的代码,如写C为货币格式,前面加$

如果没有前文字,则前面换成{} ,格式:{}{0:X}后文字

如下对不同功能进行列举示例

整数固定位数

整数D,仅支持整形类型,double等无效,文本不显示

固定位数:{}{0:Dn},n为位数,小于原来位数,则不起作用,n大于原始数据位数,则用0补充

<TextBox Text="{Binding Count, StringFormat={}{0:D6}}" /> 

示例:

 public int Number { get; set; }Number = 15;

显示效果:

<TextBlock HorizontalAlignment="Left" Margin="44,35,0,0" TextWrapping="Wrap" Text="{Binding Number}" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="44,200,0,0" TextWrapping="Wrap" Text="{Binding Number,StringFormat={}{0:D6}}" VerticalAlignment="Top"/>

在这里插入图片描述

小数

· 指定小数点后的位数{}{0:F4},4为小数点位数

<TextBox Text="{Binding Total, StringFormat={}{0:F4}}" /> 

· 用分号隔开的整数部分每三位加一个分号,并指定小数点后的位数

<TextBox Text="{Binding Total, StringFormat={}{0:N3}}" /> 

示例

数据:

    public double Value { get; set; }Value = 231341145.312454858;

效果:

<TextBlock HorizontalAlignment="Left" Margin="119,42,0,0" TextWrapping="Wrap" Text="{Binding Value}" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="119,81,0,0" TextWrapping="Wrap" Text="{Binding Value,StringFormat={}{0:F6}}" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="119,117,0,0" TextWrapping="Wrap" Text="{Binding Value, StringFormat={}{0:N6}}" VerticalAlignment="Top"/>

在这里插入图片描述

货币格式

· 货币格式{}{0:C} ,默认设置为2位小数

<TextBlock Text="{Binding Price, StringFormat={}{0:C}}" /> 

· 货币格式,小数点设置{}{0:Cn},N为小数点位数

如下,设置小数点1位

<TextBox Text="{Binding Price, StringFormat={}{0:C1}}" /> // $123.5

示例

绑定数据:

   public double Pirce { get; set; }Pirce = 15.223;  //decimal或者其他类型也可以

显示效果:

 <TextBlock HorizontalAlignment="Left" Margin="44,114,0,0" TextWrapping="Wrap" Text="{Binding Pirce,StringFormat={}{0:C}}" VerticalAlignment="Top"/><TextBlock HorizontalAlignment="Left" Margin="44,159,0,0" TextWrapping="Wrap" Text="{Binding Pirce,StringFormat={}{0:C1}}" VerticalAlignment="Top"/>

在这里插入图片描述

占位符

需要同时指定整数和小数部分位数,格式如下,有两种写法,效果不同

使用0为占位符,整数部分不足,会用0自动填充;使用#为占位符,整数部分不会自动填充

<TextBox Text="{Binding Value, StringFormat={}{0:0000.000}}" /> 
<TextBox Text="{Binding Value, StringFormat={}{0:####.###}}" /> 

测试效果:

在这里插入图片描述

百分比

显示百分比P,格式:{}{0:Pn},n为小数点位数

注意:百分比会需要在数据中输入实际数值大小,如输入1,就是100%,0.12→12%,如果输入12,则是1200%

<TextBox Text="{Binding Persent, StringFormat={}{0:P1}}" /> 

示例:

    public double Value { get; set; }Value =  1.122;

效果:

<TextBlock HorizontalAlignment="Left" Margin="119,42,0,0" TextWrapping="Wrap" Text="{Binding Value}" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="119,81,0,0" TextWrapping="Wrap" Text="{Binding Value,StringFormat={}{0:P2}}" VerticalAlignment="Top"/>

在这里插入图片描述

前文字

格式:xxxx{0:X}前面xxxx为自定义的文字内容,后面跟上面用法一样,如果后面数据内容不处理,则为xxxx{0},{0}代表数据本身

<TextBox Text="{Binding Price, StringFormat=xxxx{0:P}}" /> 
示例
<TextBlock Text="{Binding Value,StringFormat=百分比{0:P2}}" />

效果:

在这里插入图片描述

后文字

格式:{}{0}xxxx,在后面添加文字,其他的规则一样

<TextBox Text="{Binding Price, StringFormat={}{0}xxxx}" /> 

效果:
在这里插入图片描述

前后都加

格式:xxxx{0}xxxx

 <TextBlock  Text="{Binding Value,StringFormat=长度:{0}米}" VerticalAlignment="Top"/>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/32665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于微信没有接入鸿蒙NEXT的思考

6月21日,纯血鸿蒙发布,国内的质疑声终于停止,不再被人喊叫换皮 Android 了.就连编程语言都是华为自研的。 可是发布会后微信却成了热点,因为余承东在感谢了一圈互联网企业,如:淘宝、支付宝、美团、京东、抖音、今日头条、钉钉、小红书、微博、B站、高德、WPS等等. 唯独没有感…

CSS基础学习记录(5)

目录 1、CSS语法 2、实例 3、CSS注释 4、id 选择器 5、class 类选择器 6、标签选择器 7、内联选择器 1、CSS语法 CSS 规则由两个主要的部分构成&#xff1a;选择器&#xff0c;以及一条或多条声明: 选择器&#xff08;Selector&#xff09;通常是您需要改变样式的 HTML …

Altera不同系列的型号命名规则

Altera芯片型号&#xff1a;10AX07H4F34I3SG 20nm工艺 资源&#xff1a; 大数据 云计算 人工智能 图像处理 MSEL

高级人工智能复习 中科大

参考&#xff1a; 中科大2023春季【高级人工智能】试题回顾 中国科学技术大学《高级人工智能》课程 重要知识点提纲 高级人工智能复习提纲 1.搜索 1.1 搜索问题的概念 搜索问题的五个要素&#xff1a;状态空间、后继函数、初始状态、目标测试和路径耗散。 用状态图描述搜索…

Codeforces Round 953 (Div. 2) A~F

A.Alice and Books&#xff08;思维&#xff09; 题意&#xff1a; 爱丽丝有 n n n本书。第 1 1 1本书包含 a 1 a_1 a1​页&#xff0c;第 2 2 2本书包含 a 2 a_2 a2​页&#xff0c; … \ldots …第 n n n本书包含 a n a_n an​页。爱丽丝的操作如下&#xff1a; 她把所有的…

L57---112.路径总和(广搜)---Java版

1.题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。叶子节点 是指…

力扣每日一题 6/23 字符串/模拟

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 520.检测大写字母【简单】 题目&#xff1a; 我们定义&#xff0c;在以下…

面试必考题 CSS的居中布局

CSS居中对齐的几种方式 使用flex布局利用css3中的flex弹性盒的属性利用子元素auto 使用grid布局使用定位使用定位与margin利用CSS3属性transform 使用文本对齐使用table布局 使用flex布局 利用css3中的flex弹性盒的属性 .parent {display: flex;justify-content: center;alig…

经典面试题【作用域、闭包、变量提升】,带你深入理解掌握!

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享经典面试题【作用域、闭包、变量提升】&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;原创不易&#xff0c;如果能帮助到带大家&#xff0…

欧洲杯赛况@20240622

点击标题下「蓝色微信名」可快速关注 斯洛伐克对阵乌克兰&#xff0c;场面上大开大合&#xff0c;施兰茨连场进球&#xff0c;但这次乌克兰丢球后没泄气&#xff0c;连进两球反超&#xff0c; 从数据统计上&#xff0c;两队不相上下&#xff0c;这个小组的形势更加复杂了&#…

【ajax核心05】宏任务与微任务

ES6之后引入Promise对象(用来管理异步任务)&#xff0c;让JS引擎也可以发起异步任务 一&#xff1a;异步任务分类 异步任务分为&#xff1a;宏任务与微任务 宏任务 由浏览器环境执行的异步代码 具体宏任务分类 微任务 由JS引擎执行的代码 创建Promise对象时&#xff0c;…

[JS]语句

介绍 代码分类 表达式: 可以被求值的代码称为表达式, 可以用于赋值 语句: 一段可执行的代码, 可以有结果, 可以没有结果, 不能用于赋值 语句分类 代码从上往下执行, 称为顺序结构代码按照条件选择执行, 称为分支结构某些代码被重复执行, 成为循环结构 分支结构 if分支 if…

python-今年第几天

[题目描述] 定义一个结构体变量&#xff08;包括年、月、日&#xff09;。 计算该日在本年中是第几天&#xff0c;注意闰年问题。输入格式&#xff1a; 年 月 日。输出格式&#xff1a; 当年第几天。样例输入 2000 12 31样例输出 366 数据范围 对于100%的数据&#xff0c;保…

【前端vue3】TypeScrip-基础类型和任意类型

安装TypeScript npm install typescript -g 运行tsc -v可查看当前版本 为了方便调试可以安装 先安装小满zs大神写的工具&#xff0c;可以切换下载源 npm i xmzs -g 安装成功后 使用mmp ls查看当前的源有哪些 使用 mmp use选择镜像源 切换成功后&#xff0c;安装TypeScrip…

PathDecider 详细解读

目录 PathDecider的主要功能 PathDecider代码分析 Process() MakeObjectDecision() MakeStaticObstacleDecision() MakeStaticObstacleDecision()的流程图​编辑 MakeStaticObstacleDecision()的代码解析 GenerateObjectStopDecision() PathDecider里用到的其他函数 …

ARM功耗管理框架之PPU

安全之安全(security)博客目录导读 思考&#xff1a;功耗管理框架&#xff1f;SCP&#xff1f;PPU&#xff1f;LPI&#xff1f;之间的关系&#xff1f;如何配合&#xff1f; 目录 一、功耗管理框架中的PPU 二、PPU的结构与连接关系 三、PPU操作模式和电源模式及其之间的转…

管理不到位,活该执行力差?狠抓这4点要素,强化执行力

管理不到位&#xff0c;活该执行力差&#xff1f;狠抓这4点要素&#xff0c;强化执行力 一&#xff1a;强化制度管理 1、权责分明&#xff0c;追责管理 要知道&#xff0c;规章制度其实就是一种“契约”。 在制定制度和规则的时候&#xff0c;民主一点&#xff0c;征求团队成员…

HTTP网络协议

1.HTTP &#xff08;1&#xff09;概念&#xff1a; Hyper Text Transfer Protocol&#xff0c;超文本传输协议规定了浏览器和服务器之间数据传输的规则。 &#xff08;2&#xff09;特点 基于TCP协议:面向连接&#xff0c;安全基于请求-响应模型的:一次请求对应一次响应HTTP协…

mysql高级语句2存储过程

CREATE VIEW 视图&#xff0c;可以被当作是虚拟表或存储查询。 视图跟表格的不同是&#xff0c;表格中有实际储存数据记录&#xff0c;而视图是建立在表格之上的一个架构&#xff0c;它本身并不实际储存数据记录。 临时表在用户退出或同数据库的连接断开后就自动消失了&…

利用竞争智慧与大型语言模型:假新闻检测的新突破

Explainable Fake News Detection With Large Language Model via Defense Among Competing Wisdom 论文地址: Explainable Fake News Detection with Large Language Model via Defense Among Competing Wisdom | Proceedings of the ACM on Web Conference 2024https://dl.…