2013-09-05 13 views
5

Próbuję sformatować ciąg znaków po wybraniu daty przez element DatePicker. Format, który otrzymuję to "9/5/2013 12:00:00 AM", a próbuję uzyskać "9/5/2013". Czy ktoś może mi powiedzieć, co robię źle w formacie ciągu?Format ciągu daty WPF w 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

Próbowałem uzyskać wysoką wartość ... czy możesz udostępnić kompletny datagrid xaml? – Nitin

+0

po prostu dodaj cały dg – Robert

+0

jest formatem ciągu w nim – Robert

Odpowiedz

9

Spróbuj wykonać następujące czynności:

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

To wymaga .NET 3.5 SP1 lub nowszej.

Btw .: StringFormat rozróżnia wielkość liter. "d" to short date format specifier, natomiast "D" to long date format specifier.

+0

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

+0

Hmm to działa dla mnie, ale twój StringFormat również działa. Twój błąd może być gdzieś indziej. Twoja karta DataGrid może generować kolumnę samodzielnie. Spróbuj ustawić 'AutoGenerateColumns =" ​​False "'. –

+3

Odpowiedź duplicate http://stackoverflow.com/questions/5046429/wpf-binding-stringformat- kort-date-string – HichemSeeSharp