当前位置: 首页 > news >正文

WPF文本绑定显示格式StringFormat设置-特殊格式时间日期和多数据绑定

WPF文本绑定显示格式StringFormat设置

  • 特殊格式设置
  • 日期/时间
    • 使用系统默认样式
    • 自定义格式:
  • 绑定多个属性(多重绑定)
    • 多重绑定中的特殊字符
    • 示例:

特殊格式设置

在Textblock等文本控件中,我们经常要显示一些日期和时间,默认显示的日期,不是我们想要的,所以需要自定义格式,还有多个数据可能需要绑定到一个文本中,都可以通过设置StringFormat来实现

日期/时间

使用系统默认样式

<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:d}}" />
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:D}}" />
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:m}}" />
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:M}}" />
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:f}}" />
<TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:F}}" />
<TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:g}}" />
<TextBlock Grid.Row="7" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:G}}" />
<TextBlock Grid.Row="8" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:t}}" />
<TextBlock Grid.Row="9" Grid.Column="1" Text="{Binding DtNow, StringFormat={}{0:T}}" />

显示效果如下:
在这里插入图片描述

自定义格式:

<TextBox Text="{Binding DtNow, StringFormat={}{0:yyyy年MM月dd日}}" />
<TextBox Text="{Binding DtNow, StringFormat={}{0:yyyy-MM-dd}}" />
<TextBox Text="{Binding DtNow, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" />

也可以简化直接写日期格式

  <TextBlock Text="{Binding DtNow,StringFormat='yyyy年MM月dd日'}"/><TextBlock Text="{Binding DtNow,StringFormat='yyyy:MM:dd HH:mm:ss'}"/>

显示效果如下
在这里插入图片描述

绑定多个属性(多重绑定)

一个文本控件绑定多个属性合并显示,使用MultiBinding,在StringFormat中设置绑定格式{0}代表第一个属性,{1}代表第二个属性,以此类推

 <TextBlock><TextBlock.Text><MultiBinding StringFormat="数据计算:{0}/{1}={2}"><Binding Path="Value1" /><Binding Path="Value2" /><Binding Path="Result" /></MultiBinding></TextBlock.Text></TextBlock>

显示效果
在这里插入图片描述

多重绑定中的特殊字符

    \a  &#x07;  BEL\b  &#x08;  BS - Backspace\f  &#x0c;  FF - Formfeed\n  &#x0a;  LF, NL - Linefeed, New Line\r  &#x0d;  CR - Carriage return\t  &#x09;  HT - Tab\v  &#x0b;  VT - Vertical Tabelator &gt;     >(右箭头)

示例:

<TextBlock><TextBlock.Text><MultiBinding StringFormat="数据计算:{0}/{1}--&gt;{2}"><Binding Path="Value1" /><Binding Path="Value2" /><Binding Path="Result" /></MultiBinding></TextBlock.Text></TextBlock><!---->

效果
在这里插入图片描述

相关文章:

  • 原生dom操作快速写入html渲染(insertAdjacentHTML)
  • Cadence:Conformal系列形式验证工具
  • 深入解析Netty的Reactor模型及其实现:详解与代码示例
  • Pikachu靶场--XSS
  • excel数据透视
  • Ubuntu常见命令解释
  • 修改主频睡眠模式停止模式待机模式
  • 第五章重采样方法
  • 牛顿迭代法(求解整数的近似平方根)
  • 网络爬虫中selenium和requests这两个工具有什么区别呢?
  • 力扣爆刷第153天之TOP100五连刷(接雨水、环形链表、最长上升子序列)
  • Golang笔记:使用serial包进行串口通讯
  • STM32单片机-BKP和RTC
  • 如何级联移位寄存器(74HC595)
  • 【Linux】基础IO——文件描述符,重定向,FILE
  • 345-反转字符串中的元音字母
  • Akka系列(七):Actor持久化之Akka persistence
  • golang中接口赋值与方法集
  • javascript从右向左截取指定位数字符的3种方法
  • JDK9: 集成 Jshell 和 Maven 项目.
  • js作用域和this的理解
  • Mybatis初体验
  • Redis中的lru算法实现
  • Spring Cloud Feign的两种使用姿势
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 当SetTimeout遇到了字符串
  • 飞驰在Mesos的涡轮引擎上
  • 排序算法之--选择排序
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 跳前端坑前,先看看这个!!
  • 写代码的正确姿势
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 阿里云服务器购买完整流程
  • 组复制官方翻译九、Group Replication Technical Details
  • ​iOS实时查看App运行日志
  • #{} 和 ${}区别
  • #define与typedef区别
  • $.ajax()
  • $.proxy和$.extend
  • (1)Hilt的基本概念和使用
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (day6) 319. 灯泡开关
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十二)Flink Table API
  • (十六)视图变换 正交投影 透视投影
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .Net 基于MiniExcel的导入功能接口示例
  • .net 提取注释生成API文档 帮助文档