StringFormat对特定数据格式的转换

WPF中,对数字/日期等的格式化,可参考此篇博客:https://www.cnblogs.com/zhengwen/archive/2010/06/19/1761036.html

StringFormat对语言项的格式化

1.单个动态数据绑定

例如:

“已使用此软件 365 天!”,WPF中可如下处理

添加资源项:

<system:String x:Key="LangSource1">已使用此软件 {0} 天!</system:String>

StringFormat格式化:

<TextBlock Text="{Binding UsedDays,StringFormat={StaticResource LangSource1}}"/>

文本:《365》

StringFormat格式化:

<TextBlock Text="{Binding UsedDays,StringFormat=《{0}》}"  Foreground="#018000"/>

其它案例:

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

2.多个动态数据绑定

例如:“30/365”

     <TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}/{1}">
<Binding Path="LearnedDays" FallbackValue="0" />
<Binding Path="PlanningDays" FallbackValue="0" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>

例如:“已经学习30天,剩余计划学习天数365”

添加资源项:

<system:String x:Key="LangSource5">已经学习{0},剩余计划学习天数{1}</system:String>

WPF中stringFormat处理:

     <TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{StaticResource LangSource5}">
<Binding Path="LearnedDays" FallbackValue="0" />
<Binding Path="PlanningDays" FallbackValue="0" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
 <TextBox.Text>
<MultiBinding StringFormat="姓名:{0} {1}">
<Binding Path="FristName" />
<Binding Path="LastName" />
</MultiBinding>
</TextBox.Text>

常见的特殊字符:

小于号(<) &lt;
大于号(>) &gt;
&符号(&) &amp;
引号(") &quot;
单引号(') &apos;
回车
换行
Tab
空格

3. 数据格式转换与动态数据绑定的灵动结合

例如:“学生张三的期末平均成绩为93.20分”

添加资源项:

<system:String x:Key="LangSource5">学生{0}的期末平均成绩为{1:N2}分</system:String>

WPF中stringFormat处理:

     <TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{StaticResource LangSource5}">
<Binding Path="Name"/>
<Binding Path="Score"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>

WPF StringFormat 格式化文本的更多相关文章

  1. WPF 语言格式化文本控件

    前言 本章讲述正确添加语言资源的方式,以及一段语言资源的多种样式显示. 例如:“@Winter,你好!感谢已使用软件 800 天!” 在添加如上多语言资源项时,“XX,你好!感谢已使用软件 X 天!” ...

  2. WPF中StringFormat 格式化 的用法

    原文 WPF中StringFormat 格式化 的用法 网格用法 <my:DataGridTextColumn x:Name="PerformedDate" Header=& ...

  3. WPF中Binding使用StringFormat格式化字符串方法

    原文:WPF中Binding使用StringFormat格式化字符串方法 货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0 ...

  4. 解决方案:带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载可能出现 COM 组件的80040154错误

      建议大家在微软的组件出现问题时,在GOOGLE上搜索解决方案,一般来说,总有结果:  带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载,可能出现 COM 组件的80 ...

  5. c# 正则格式化文本防止SQL注入

    /// <summary> /// 格式化文本(防止SQL注入) /// </summary> /// <param name="str">&l ...

  6. python中使用%与.format格式化文本

    初学python,看来零零碎碎的格式化文本的方法,总结一下python中格式化文本的方法.使用不当的地欢迎指出谢谢. 1.首先看使用%格式化文本 常见的占位符: 常见的占位符有: %d 整数 %f 浮 ...

  7. 格式化文本数据抽取工具awk

    在管理和维护Linux系统过程中,有时可能需要从一个具有一定格式的文本(格式化文本)中抽取数据,这时可以使用awk编辑器来完成这项任务.发明这个工具的作者是Aho.Weinberg和Kernighan ...

  8. WPF中TextBlock文本换行与行间距

    原文:WPF中TextBlock文本换行与行间距 换行符: C#代码中:\r\n 或  \r 或 \n XAML中: 或 注:\r 回车 (carriage return 缩写),\n 新行 (new ...

  9. WPF中的文本度量

    关于WPF中的文本度量,需要了解以下几个问题: WPF中支持一些常用的度量单位:px(device independent pixels).in(inches).cm(centimeters).pt( ...

随机推荐

  1. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

  2. 二分(HDU2289 Cup)

    贴代码: 题目意思:已知r水的下半径,R水的上半径,H为圆台高度,V为水的体积,求水的高度,如图: 水的高度一定在0-100,所以在这个区间逐步二分,对每次二分出的水的高度,计算相应的体积,看看计算出 ...

  3. js中的cookie

    cookie就是一个存放数据的东西,存储量很小4kb,存放在客户端上和应用设备上. 应用场景 用户注册,用户登录,购物车. Chrome浏览器在计算机中存放cookie的位置 C:\Users\Adm ...

  4. 报错Domain=NSCocoaErrorDomain Code=3840 "Garbage at end."

    网络请求出现报错:Domain=NSCocoaErrorDomain Code=3840 "Garbage at end." 出现的问题是后台返回了两次json数据!

  5. .net Core 2.0应用程序发布到IIS上注意事项

    .net Core2.0应用程序发布window服务器报错容易错过的配置. 1.应用程序发布. 2.IIS上新建网站. 3.应用程序池选择无托管代码. 4.服务器上安装DotNetCore.1.0.1 ...

  6. [译文]Domain Driven Design Reference(六)—— 提炼战略设计

    本书是Eric Evans对他自己写的<领域驱动设计-软件核心复杂性应对之道>的一本字典式的参考书,可用于快速查找<领域驱动设计>中的诸多概念及其简明解释. 其它本系列其它文章 ...

  7. JMS(Java消息服务)与消息队列ActiveMQ基本使用(一)

    最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消 ...

  8. [Swift]LeetCode316. 去除重复字母 | Remove Duplicate Letters

    Given a string which contains only lowercase letters, remove duplicate letters so that every letter ...

  9. [Swift]LeetCode561. 数组拆分 I | Array Partition I

    Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...

  10. [Abp 源码分析]八、缓存管理

    0.简介 缓存在一个业务系统中十分重要,常用的场景就是用来储存调用频率较高的数据.Abp 也提供了一套缓存机制供用户使用,在使用 Abp 框架的时候可以通过注入 ICacheManager 来新建/设 ...