2010-11-12 2 views
0

Cela me rend fou!Formatage de la date dans le contrôle DatePicker dans un DataForm Silverlight

J'ai un formulaire de données piloté par RIA dans Silverlight qui contient un contrôle de datepicker. Je veux afficher la date au format ddMMMyyyy. Voici un échantillon du 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> 

J'ai suivi les conseils donnés dans How to change date format in Silverlight DatePicker control? et a ajouté les lignes suivantes à mon démarrage App:

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

mais il ne fait aucune différence , la date sort toujours dans son format brut, par exemple 1/3/2006 12:00 AM

Y a-t-il une raison pour laquelle la culture actuelle ne fonctionne pas dans un formulaire de données?

Mise à jour: Si j'implémente la même forme à la dure en n'utilisant pas de formulaire, la date est au bon format!

Répondre

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

Vous ne devez ajouter à la liaison qu'un attribut StringFormat = 'MM/jj/aaaa'.

<TextBox IsReadOnly="True" TextAlignment="Center" Text="{Binding AlbumDate, StringFormat='MM/dd/yyyy'}" /> 
Questions connexes