【问题标题】:WPF Datagrid Column showing a timeWPF Datagrid 列显示时间
【发布时间】:2017-08-03 17:22:12
【问题描述】:

我有一个数据库和一个 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>

【问题讨论】:

  • 我认为您可以在 Binding 语句中指定 wpf 中的格式
  • 我试过 'Binding="{Binding Ende, Mode = TwoWay, StringFormat = 'HH:mm'}" ' 知道我的错误是什么吗?

标签: c# .net wpf


【解决方案1】:

试试

<toolkit:DataGridTextColumn ... Binding="{Binding Ende, StringFormat = 'HH:mm'}"/>

如果我没记错的话,2路是不可能的。 对于 2 向绑定,您应该使用 IValueConverter

【讨论】:

    猜你喜欢
    • 2014-08-01
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 2011-06-05
    • 2011-07-18
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多