仅从我的TextBlock中的DateTime属性显示日期

时间:2012-07-14 12:58:54

标签: c# xaml windows-phone-7.1

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

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

但是当我选择第一天它显示为 01 但我希望它显示为 1 有没有办法使用StringFormat执行此操作。

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

1 个答案:

答案 0 :(得分: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"/>