0

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

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

但是当我选择第一天时,它显示为01但我希望它显示为1 有什么方法可以使用StringFormat.

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

4

1 回答 1

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"/>
于 2012-07-14T13:07:34.963 回答