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,一经查实,立即删除!

相关文章

时序设计中的“打拍”

“打拍”&#xff1a;在数字系统和时序设计中&#xff0c;打拍&#xff08;Double Flopping / Two-Stage Registering&#xff09;是指通过两个级联的寄存器&#xff08;flip-flops&#xff09;将输入信号同步到系统时钟域内的过程&#xff0c;常用于解决跨时钟域信号的亚稳态问…

智能淘客返利系统架构解析

智能淘客返利系统架构解析 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 随着电子商务行业的迅速发展&#xff0c;淘宝、天猫等电商平台成为了人们购物的主要…

3. kubernetes客户端crictl命令

kubernetes客户端crictl命令 crictl 是一个命令行工具&#xff0c;用于与容器运行时接口&#xff08;CRI&#xff09;兼容的容器运行时&#xff08;如 containerd 和 CRI-O&#xff09;进行交互。crictl 提供了许多有用的命令来管理容器、镜像和 sandboxes。 官方仓库地址&am…

Rust:Future、async 异步代码机制示例与分析

0. 异步、并发、并行、进程、协程概念梳理 Rust 的异步机制不是多线程或多进程&#xff0c;而是基于协程&#xff08;或称为轻量级线程、微线程&#xff09;的模型&#xff0c;这些协程可以在单个线程内并发执行。这种模型允许在单个线程中通过非阻塞的方式处理多个任务&#…

关于微信没有接入鸿蒙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; 她把所有的…

C语言之常用标准库介绍

文章目录 1 标准库1.1 诊断assert.h1.2 字符类别测试ctype.h1.3 错误处理errno.h1.4 整型常量limits.h1.5 地域环境locale.h1.6 数学函数math.h1.7 非局部跳转setjmp.h1.8 可变参数表stdarg.h1.9 公共定义stddef.h1.10 输入输出stdio.h1.11 实用函数stdlib.h1.12 日期与时间函数…

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

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

c++新技术

C的新技术主要体现在其不断演进的新标准中&#xff0c;这些新标准为开发者提供了更多的工具和特性&#xff0c;使得C成为一门现代化的高效编程语言。以下是关于C新技术的一些关键点和概述&#xff1a; C新标准&#xff1a; C11&#xff1a;引入了众多现代C的特性&#xff0c;如…

Lambda函数(箭头表达式)

箭头函数 也被称为Lambda函数或者箭头表达式&#xff0c;是ECMAScript 2015&#xff08;又称ES6&#xff09;中新增的一种函数定义方式。它使用箭头&#xff08;>&#xff09;来定义函数&#xff0c;通常用于定义匿名函数或回调函数。 优点 箭头函数有以下几个显著特点&a…

力扣每日一题 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;…

Java中的Servlet编程:从基础到高级应用

Java中的Servlet编程&#xff1a;从基础到高级应用 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在本文中&#xff0c;我们将探讨Java中的Servlet编程&#x…

[JS]语句

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