2013-09-05 28 views
5

DatePicker tarafından bir tarih seçildikten sonra dizeyi biçimlendirmeye çalışıyorum. Benim aldığım biçim "9/5/2013 12:00:00" ve benim almaya çalıştığım "9/5/2013". Birisi dize formatıyla yanlış yaptığımı söyleyebilir mi?WPF Tarih Dize Biçimi XAML'de

<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

Değerlerimi iyi değerlendirmeyi denedim ... Tüm datagrid'inizi paylaşabiliyor musunuz? – Nitin

+0

sadece tüm dg ekleyin – Robert

+0

içindeki dize biçiminde olanı – Robert

cevap

9

Aşağıdakileri deneyin: Bu, yukarıda .NET 3.5 SP1 veya gerektirir

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

.

Btw .: StringFormat büyük-küçük harf duyarlıdır. "d" short date format specifier iken "D" long date format specifier'dur.

+0

stiil '9/5/2013 12 almak ile yapabilirsiniz bir yolu var: 00:00 AM ' – Robert

+0

Hmm, benim için çalışıyor, ancak StringFormat'ınız da çalışıyor. Yani hatanız başka bir yerde olabilir. DataGrid'iniz kendi başlığına Sütun üretebilir. AutoGenerateColumns = "False" 'ayarlamayı deneyin. –

+3

Yanıtla yinelenen http://stackoverflow.com/questions/5046429/wpf-binding-stringformat-short-date-string – HichemSeeSharp