Date formatting using data annotations for a dataform in Silverlight
- by Aim Kai
This is probably got a simple answer to it, but I am having problems just formatting the date for a dataform field..
<df:DataForm x:Name="Form1" ItemsSource="{Binding Mode=OneWay}" AutoGenerateFields="True"
AutoEdit="True" AutoCommit="False"
CommitButtonContent="Save"
CancelButtonContent="Cancel"
CommandButtonsVisibility="Commit"
LabelPosition="Top" ScrollViewer.VerticalScrollBarVisibility="Disabled"
EditEnded="NoteForm_EditEnded">
<df:DataForm.EditTemplate>
<DataTemplate>
<StackPanel>
<df:DataField>
<TextBox Text="{Binding Title, Mode=TwoWay}"/>
</df:DataField>
<df:DataField>
<TextBox Text="{Binding Description, Mode=TwoWay}" AcceptsReturn="True" HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto" Height="" TextWrapping="Wrap" SizeChanged="TextBox_SizeChanged"/>
</df:DataField>
<df:DataField>
<TextBlock Text="{Binding Username}"/>
</df:DataField>
<df:DataField>
<TextBlock Text="{Binding DateCreated}"/>
</df:DataField>
</StackPanel>
</DataTemplate>
</df:DataForm.EditTemplate>
</df:DataForm>
I have bound this to a note class which has the annotation for field DateCreated:
/// <summary>
/// Gets or sets the date created of the noteannotation
/// </summary>
[Display(Name="Date Created")]
[Editable(false)]
[DisplayFormat(DataFormatString = "{0:u}", ApplyFormatInEditMode = true)]
public DateTime DateCreated { get; set; }
Whatever I set the dataformatstring it comes back as: eg 4/6/2010 10:02:15 AM
I want this formatted as yyyy-MM-dd HH:mm:ss
I have tried the custom format above {0:yyyy-MM-dd hh:mm:ss} but it remains the same output. The same happens for {0:u} or {0:s}. Any help would be gratefully received. :)