2013-09-05 16 views
5

Sto provando a formattare una stringa dopo che una data è stata selezionata da DatePicker. Il formato che sto ottenendo è "9/5/2013 12:00:00" e quello che sto cercando di ottenere è "9/5/2013". Qualcuno può dirmi cosa sto facendo male con il formato stringa?Formato stringa data WPF in XAML

<DataGridTemplateColumn Header="Start"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Start, StringFormat=d}" FontFamily="Verdana" /> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
    <DataGridTemplateColumn.CellEditingTemplate> 
     <DataTemplate> 
      <DatePicker SelectedDate="{Binding Start}" FontFamily="Verdana" > 
       <DatePicker.CalendarStyle> 
        <Style TargetType="Calendar"> 
          <Setter Property="DisplayMode" Value="Month"/> 
        </Style> 
       </DatePicker.CalendarStyle> 
      </DatePicker> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellEditingTemplate> 
</DataGridTemplateColumn> 
+0

l'ho provato ottenendo un valore eccellente ... puoi condividere il tuo completo datagrid xaml? – Nitin

+0

aggiungi solo l'intera dg – Robert

+0

è quello con il formato stringa in esso – Robert

risposta

9

provare quanto segue:

<TextBlock Text="{Binding Start, StringFormat=d}" /> 

Ciò richiede .NET 3.5 SP1 o superiore.

Btw .: StringFormat fa distinzione tra maiuscole e minuscole. "d" è il short date format specifier mentre "D" è il long date format specifier.

+0

stiil ottenere '9/5/2013 12: 00:00 AM ' – Robert

+0

Hmm funziona per me, ma anche il tuo StringFormat funziona. Quindi il tuo errore potrebbe essere da qualche altra parte. Il tuo DataGrid potrebbe generare la colonna da solo. Prova a impostare 'AutoGenerateColumns =" ​​False "'. –

+3

Rispondi duplicato http://stackoverflow.com/questions/5046429/wpf-binding-stringformat-short-date-string – HichemSeeSharp