2012-07-14 80 views
0

我想在我的WindowsPhone应用程序的DateTime属性中仅在TextBlock中显示Day。我使用以下代码在TextBlock中显示Day。从DateTime属性中仅在我的TextBlock中显示日期

<TextBlock Text="{Binding SelectedValue,StringFormat='dd'}" 
      FontWeight="Bold"/> 

但是,当我选择它显示像的第一天,但​​我希望它可以显示像 有没有办法做到这一点使用StringFormat

我预计这应该使用100%xaml代码甚至不使用转换器来实现。

回答

3

d格式字符指定月份中没有前导零的那一天。但是,您需要其他任何东西来确保它不被解释为标准的d日期格式字符串。一种方法是在其前面加上一个空字符串:String.Format(DateTime.Today, "''d")显示为14.在XAML中,您需要对单引号字符进行编码。当在WPF测试,事实证明是很容易得到它与同一个引号字符作为最外层的那些工作,因逃避问题,所以它成为

<TextBlock Text="{Binding SelectedValue,StringFormat='d&quot;&quot;'}" 
     FontWeight="Bold"/> 

编辑:也许一个更清洁,更简单方式将不绑定到日期,但直接绑定到月份的一天:

<TextBlock Text="{Binding SelectedValue.Day}" 
     FontWeight="Bold"/> 
+0

感谢它解决了我的问题 – 2012-07-16 07:40:26