2013-09-05 16 views
5

Ich versuche, Zeichenfolge zu formatieren, nachdem ein Datum vom DatePicker ausgewählt wurde. Das Format, das ich bekomme, ist "9/5/2013 12:00:00 AM" und was ich versuche zu bekommen ist "9/5/2013". Kann mir jemand sagen, was ich mit dem Stringformat falsch mache?WPF Datumszeichenkette Format 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

Ich habe es versucht bekommen Wert gut ... können Sie Ihre komplette Datagrid XAML teilen? – Nitin

+0

fügen Sie einfach das ganze dg – Robert

+0

ist derjenige mit dem String-Format darin – Robert

Antwort

9

Versuchen Sie Folgendes:

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

Diese SP1 oder höher .NET 3.5 benötigt.

Btw .: StringFormat ist Groß-und Kleinschreibung. "d" ist der short date format specifier, während "D" der long date format specifier ist.

+0

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

+0

Hmm, es funktioniert für mich, aber Ihr StringFormat funktioniert auch. Ihr Fehler könnte also woanders liegen. Ihr DataGrid generiert möglicherweise die Spalte selbst. Versuchen Sie, 'AutoGenerateColumns =" ​​False "' zu setzen. –

+3

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