我想从我的WindowsPhone应用程序的DateTime属性中仅在TextBlock中显示Day。我使用以下代码在TextBlock中显示Day。
<TextBlock Text="{Binding SelectedValue,StringFormat='dd'}"
FontWeight="Bold"/>
但是当我选择第一天它显示为 01 但我希望它显示为 1
有没有办法使用StringFormat
执行此操作。
我希望这应该使用100%xaml代码来实现,甚至不使用转换器。
答案 0 :(得分:3)
d
格式字符指定一个月中没有前导零的日期。但是,您需要其他东西(任何东西)以确保它不被解释为标准d
日期格式字符串。一种方法是在前面加一个空字符串:String.Format(DateTime.Today, "''d")
显示为14.在XAML中,您需要对单引号字符进行编码。在WPF中进行测试时,由于转义问题导致它更容易使用与最外层字符相同的引号字符,因此它变为
<TextBlock Text="{Binding SelectedValue,StringFormat='d""'}"
FontWeight="Bold"/>
编辑:也许更简洁的方法是不绑定日期,而是直接绑定到月中的某一天:
<TextBlock Text="{Binding SelectedValue.Day}"
FontWeight="Bold"/>