2010-11-12 62 views
0

這使我瘋狂!在Silverlight DataForm中格式化DatePicker控件中的日期

我在Silverlight中有一個RIA Services驅動的數據表單,它包含一個datepicker控件。我想以ddMMMyyyy格式顯示日期。這裏是XAML的一個樣本:

<dataFormToolkit:DataForm x:Name="dataForm" AutoGenerateFields="False"> 
       <dataFormToolkit:DataForm.EditTemplate> 
        <DataTemplate> 
         <StackPanel> 
          <dataFormToolkit:DataField Label="First Name"> 
           <TextBox Text="{Binding PE_FIRST_NAME, Mode=TwoWay}"/> 
          </dataFormToolkit:DataField> 
          <dataFormToolkit:DataField Label="Surname"> 
           <TextBox Text="{Binding PE_SURNAME_NAME,Mode=TwoWay}"/> 
          </dataFormToolkit:DataField> 
          <dataFormToolkit:DataField Label="Department"> 
           <ComboBox x:Name="cboDepartment" DisplayMemberPath="CC_NAME" SelectedValuePath="CC_ID" SelectedValue="{Binding Path=CC_ID, Mode=TwoWay}"/> 
          </dataFormToolkit:DataField> 
          <dataFormToolkit:DataField Label="Start Date"> 
           <controls:DatePicker Text="{Binding PE_START_DATE, Mode=TwoWay}"/> 
          </dataFormToolkit:DataField> 
         </StackPanel> 
        </DataTemplate> 
       </dataFormToolkit:DataForm.EditTemplate> 
      </dataFormToolkit:DataForm> 
     </StackPanel> 

我已按照 How to change date format in Silverlight DatePicker control? 給出的建議,並添加以下行到我的應用程序的啓動:

Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); 
     Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "ddMMMyyyy"; 

,但它並沒有任何區別,日期總是以原始格式出現,例如1/3/2006 0:00

有什麼理由爲什麼當前的文化不能在數據表單中工作?

更新:如果我通過不使用數據表單的方式實現相同的表單,那麼日期的格式是正確的!

回答

2
controls:DatePicker Text="{Binding PE_START_DATE, Mode=TwoWay, StringFormat='d'}" 
1

您只需要添加綁定StringFormat ='MM/dd/yyyy'屬​​性。

<TextBox IsReadOnly="True" TextAlignment="Center" Text="{Binding AlbumDate, StringFormat='MM/dd/yyyy'}" /> 
相關問題