WPF中Binding字符串格式化技巧分享

 更新时间:2024年10月24日 11:18:25   作者:小码编匠  
在 WPF 开发中,数据绑定(Binding)是一项核心功能,它允许 UI 元素与数据源紧密关联,下面我们就来深入了解下Binding字符串格式化的技巧吧

前言

在 WPF 开发中,数据绑定(Binding)是一项核心功能,它允许 UI 元素与数据源紧密关联。本文将介绍如何使用 StringFormat 属性来格式化绑定的数据,使数据显示更加符合需求。通过具体的例子,您将学会如何轻松地控制绑定数据的呈现形式。

1、货币格式

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

2、货币格式,一位小数

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

3、前文字

<TextBox Text="{Binding Price, StringFormat=单价:{0:C}}" /> //单价:$123.46

4、后文字

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

5、固定的位数,位数不能少于未格式化前,仅支持整形

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

6、指定小数点后的位数

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

7、用分号隔开的数字,并指定小数点后的位数

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

8、格式化百分比

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

9、占位符

<TextBox Text="{Binding Price, StringFormat={}{0:0000.00}}" /> // 0123.46
<TextBox Text="{Binding Price, StringFormat={}{0:####.##}}" /> // 123.46

10、日期/时间

<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:d}}" /> // 5/4/2015
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:D}}" /> // Monday, May 04, 2015
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:f}}" /> // Monday, May 04, 2015 5:46 PM
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:F}}" /> // Monday, May 04, 2015 5:46:56 PM
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:g}}" /> // 5/4/2015 5:46 PM
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:G}}" /> // 5/4/2015 5:46:56 PM
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:m}}" /> // May 04
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:M}}" /> // May 04
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:t}}" /> // 5:46 PM
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:T}}" /> // 5:46:56 PM
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:yyyy年MM月dd日}}" /> // 2015年05月04日
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:yyyy-MM-dd}}" /> // 2015-05-04
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:yyyy-MM-dd HH:mm}}" /> // 2015-05-04 17:46
<TextBox Text="{Binding DateTimeNow, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" /> // 2015-05-04 17:46:56

或者

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

11、多重绑定

<TextBox.Text>
    <MultiBinding StringFormat="姓名:{0}{1}">
        <Binding Path="FristName" />
        <Binding Path="LastName" />
    </MultiBinding>
</TextBox.Text>
// 姓名:AAbb

12、多重绑定中的特殊字符

<TextBox.Text>
    <MultiBinding StringFormat="姓名:{0}&#x09;{1}">
        <Binding Path="FristName" />
        <Binding Path="LastName" />
    </MultiBinding>
</TextBox.Text>
 <!--
 \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, Horizontal Tabelator
 \v  &#x0b;  VT - Vertical Tabelator 
 -->
// 姓名:AA  bb

总结

本文通过实例演示了如何在 WPF 中利用 StringFormat 对绑定的各类数据进行格式化处理。收藏这些方法不仅提高了数据展示的灵活性,还增强了应用程序的可用性。掌握这一技巧后,大家可以更有效地管理和显示应用程序中的数据。

到此这篇关于WPF中Binding字符串格式化技巧分享的文章就介绍到这了,更多相关WPF Binding字符串格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#中Winform获取文件路径的方法实例小结

    C#中Winform获取文件路径的方法实例小结

    这篇文章主要介绍了C#中Winform获取文件路径的方法,以实例形式较为详细的总结了WinForm关于路径操作的常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • C#实现平衡查找树

    C#实现平衡查找树

    本文详细讲解了C#实现平衡查找树的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • CefSharp如何进行页面的缩放(Ctrl+滚轮)

    CefSharp如何进行页面的缩放(Ctrl+滚轮)

    CefSharp简单来说就是一款.Net编写的浏览器包,本文主要介绍了CefSharp如何进行页面的缩放,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C#中实现AES算法加密解读

    C#中实现AES算法加密解读

    这篇文章主要介绍了C#中实现AES算法加密实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 使用aspose.word 第三方的插件实现导出word

    使用aspose.word 第三方的插件实现导出word

    本文给大家分享的是一个使用使用aspose.word 第三方的插件实现导出word的实例,十分的实用,有需要的小伙伴可以参考下。
    2015-06-06
  • C#并行编程之数据并行Tasks.Parallel类

    C#并行编程之数据并行Tasks.Parallel类

    这篇文章介绍了C#并行编程之数据并行Tasks.Parallel类,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#中遍历DataSet数据集对象实例

    C#中遍历DataSet数据集对象实例

    这篇文章主要介绍了C#中遍历DataSet数据集对象实例,经常忘记如何操作DataSet,这里记下来并分享,让需要的朋友可以参考下
    2014-08-08
  • 在C#中根据控件名称获取控件实例的方法

    在C#中根据控件名称获取控件实例的方法

    这篇文章主要介绍了在C#中根据控件名称遍历并获取窗口或容器中控件实例的两种方法,分别是WinForms中的Control.Find方法和递归遍历,以及WPF中的LogicalTreeHelper.FindLogicalNode和递归遍历逻辑树,需要的朋友可以参考下
    2026-01-01
  • unity实现QQ截图功能

    unity实现QQ截图功能

    这篇文章主要为大家详细介绍了unity实现QQ截图功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • UnityWebRequest前后端交互实现过程解析

    UnityWebRequest前后端交互实现过程解析

    这篇文章主要介绍了UnityWebRequest前后端交互实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论