WPF中XAML中使用String.Format格式化字符串示例

来源:互联网 发布:unity3d project 编辑:程序博客网 时间:2024/06/05 16:40

原文链接:http://www.cnblogs.com/candyzkn/p/4476832.html
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日}}" /> // 20150504日<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

11、多重绑定

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

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

原文链接:http://blog.csdn.net/wangsui99/article/details/7272610
这次更新个完整的DateTime绑定后自定义格式的例子。
我刚才遇到的问题是绑定完之后,星期始终显示为英文。需要一个属性ConverterCulture制定区域。
如下:

{Binding datetime,StringFormat='{}{0:yyyy年MM月dd日 dddd HH:mm:ss}',ConverterCulture=zh-CN}  

指定ConverterCulture为zh-CN后星期就显示为中文了。

阅读全文
0 0
原创粉丝点击