WPF Datagrid列显示时间

时间:2017-03-13 15:51:36

标签: c# .net wpf

我有一个数据库和一个WPF表单,我可以在其中显示数据(并对其进行调整)。

问题是:如果我想调整包含时间的列,它看起来像 06.00:00:00:00:00 ..... 这会导致错误。

如何判断WPF数据网格,它是HH格式的时间:mm?

<CollectionViewSource x:Key="TableViewSource" Source="{Binding Source={x:Type Model:myTable}}"/>


<DataGrid Grid.Row="2" x:Name="Test" AutoGenerateColumns="False" ItemsSource="{Binding Source={StaticResource TableViewSource}}" Margin="10,13,10,10" RowDetailsVisibilityMode="VisibleWhenSelected" SelectionMode="Single" SelectionUnit="FullRow">
   <DataGrid.Columns>
     <DataGridTextColumn x:Name="ID" Binding="{Binding myTableID}" Header="ID" Width="SizeToHeader"/>
     <DataGridTextColumn x:Name="Weekday" Binding="{Binding Weekday}" Header="Weekday" Width="SizeToHeader"/>                 
     <DataGridTextColumn x:Name="StartColumn"  Binding="{Binding Start, Mode=TwoWay}" Header="Starttime" Width="SizeToHeader"/>
     <DataGridTextColumn x:Name="EndeColumn" Binding="{Binding Ende, Mode=TwoWay}" Header="Endtime" Width="SizeToHeader" />
  </DataGrid.Columns>
</DataGrid>

1 个答案:

答案 0 :(得分:1)

尝试

<toolkit:DataGridTextColumn ... Binding="{Binding Ende, StringFormat = 'HH:mm'}"/>
如果我没有错,那么双向是不可能的。 对于双向绑定,您应该使用IValueConverter