2011-08-08 10 views
12

Tengo una vista de lista vinculada a una colección de objetos. Una de las propiedades es un objeto DateTime llamado startDate. Se muestra en el formato estándar 1/1/2001 1:00:00 PMWPF/C# - Aplicación del formato de fecha a la vista de lista

Quiero poner la fecha en formato aaa-MM-dd HH: mm: ss.fff solo para mostrar. ¿Hay alguna forma de mantener el objeto DateTime subyacente intacto mientras se lo muestra en el formato deseado anterior? Preferiría hacer esto en XAML en lugar de agregar una propiedad de visualización al objeto o algo similar.

Los objetos implementan la interfaz INotifyPropertyChanged, si eso es importante.

<ListView x:Name="lvBatches" 
        SelectionMode="Single" 
        Margin="12,73,349,61" 
        Background="WhiteSmoke" 
        SelectionChanged="lvBatches_SelectionChanged" 
        ToolTip="Click on the column headers to sort by that column" 
        FontSize="10pt" 
        ItemContainerStyle="{StaticResource itemStyle}" 
        ItemsSource="{Binding batchCollection}"> 
<!-- ... --> 
    <GridViewColumn x:Name="colStart" 
        Width="200" 
        DisplayMemberBinding="{Binding startDate}"> 
     <GridViewColumnHeader Content="Start Date" 
           Click="GridViewColumnHeader_Click"/> 
    </GridViewColumn> 

Gracias de antemano, todos.

Respuesta

36

Cambie simplemente el StringFormat en su encuadernación.

DisplayMemberBinding="{Binding Path=startDate, StringFormat='yyyy-MM-dd HH:mm:ss.fff'}" 
+0

Jeez - Lo intenté pero no puse la cuerda entre comillas simples. Error de principiante. Gracias, Ray. – Yatrix

Cuestiones relacionadas