2013-09-05 35 views
5

DatePickerで日付を選択した後に文字列の書式を設定しようとしています。私が得ているフォーマットは「2011年9月5日12:00:00 AM」です。私が得ようとしているのは、「9/5/2013」です。誰かが私が文字列形式に間違っていることを教えてもらえますか?XAMLのWPF日付文字列フォーマット

<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

私は価値のあるものを得ようとしました...あなたの完全なデータグリッドxamlを共有できますか? – Nitin

+0

dg全体を追加するだけです – Robert

+0

は文字列形式のものです – Robert

答えて

9

次のことを試してみてください。

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

これは、.NET 3.5 SP1以上が必要です。

Btw .: StringFormatは大文字と小文字を区別します。 「d」はshort date format specifierであり、「D」はlong date format specifierである。

+0

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

+0

ええ、それは私のために働くが、StringFormatも機能する。だからあなたのエラーは別の場所にあるかもしれません。 DataGridが単独で列を生成することがあります。 'AutoGenerateColumns =" False "を設定してみてください。 –

+3

回答は重複しています。http://stackoverflow.com/questions/5046429/wpf-binding-stringformat-short-date-string – HichemSeeSharp

関連する問題