2013-07-02 95 views
1

我想只是返回的日期(无时间),但我已经尝试了一切,它总是返回XAML日期选择器只返回日期,但没有时间

7/23/2013 12:00:00 AM 

但我只想

7/23/2013 

这是我的代码,它需要在纯XAML中完成。

  <DatePicker SelectedDate="{Binding myDateProperty}" Height="30" HorizontalAlignment="Left" Margin="0,1,5,1" Name="ObsoleteDate" VerticalAlignment="Top" Width="110"> 
      <DatePicker.Resources> 
       <Style TargetType="{x:Type DatePickerTextBox}"> 
       <Setter Property="Control.Template"> 
        <Setter.Value> 
         <ControlTemplate> 
          <TextBox x:Name="PART_TextBox" Text="{Binding Path=SelectedDate, RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}, StringFormat={}{0:dd/MM/yyyy}}"/> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
       </Style> 
      </DatePicker.Resources> 
     </DatePicker> 
+0

你想在哪里约会?在用户界面或在你的viewmodel?你有没有尝试SelectedDateFormat? – blindmeis

+0

在视图模型中。尝试SelectedDateFormat =“短”,但结果相同。 – munchine

+2

“12:00:00”是默认值,如果您不关心时间,则可以使用日期部分:http://msdn.microsoft.com/zh-cn/library/system.datetime。 date.aspx –

回答

1

使用StringFormat=d代替StringFormat={}{0:dd/MM/yyyy}}

0

我用下面的代码,它为我工作。(ObsoleteDate是你DatePicker的名称)

ObsoleteDate.SelectedDate.Value.Date.ToShortDateString() 
0
<TextBox Background="#fff" x:Name="PART_TextBox" Text="{Binding Path=SelectedDate, 
RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}, StringFormat=d}" /> 

为我工作

相关问题