2013-09-05 3 views
5

DatePicker에서 날짜를 선택한 후 문자열의 서식을 지정하려고합니다. 내가받는 형식은 "9/5/2013 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

나는 값이 잘 나가는 것을 시도했다 ... 당신은 완전한 DataGrid xaml을 공유 할 수 있는가? – Nitin

+0

그냥 전체 dg를 추가하십시오. – Robert

+0

는 문자열 형식의 문자열입니다. – Robert

답변

9

는 다음을보십시오 : 이것은 위의 .NET 3.5 SP1 이상이 필요합니다

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

.

Btw .: StringFormat은 대/소문자를 구분합니다. "d"는 이고 "d"는 인 반면 short date format specifier입니다.

+0

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

+0

흠, 저에게는 효과적이지만 StringFormat도 작동합니다. 그래서 당신의 오류가 다른 곳에있을 수 있습니다. DataGrid가 자체적으로 Column을 생성 할 수 있습니다. 'AutoGenerateColumns = "False"를 설정해보십시오. –

+3

답변 됨 duplicate http://stackoverflow.com/questions/5046429/wpf-binding-stringformat-short-date-string – HichemSeeSharp