3

我有一个 TimeSpan 以刻度保存到 SqlCe 中,当我在 DataGrid 中加载数据时,我想在 HH:MM:SS 中格式化这个值。我试试这个:

<DataGridTextColumn Binding="{Binding tiempo, StringFormat={}{0:hh':'mm':'ss}, TargetNullValue=' --- '}"  Width="80" Header="Tiempo"/>

但 DataGrid 显示 'hh:mm:ss' 而不是值。

我也尝试使用其他模式,例如 StringFormat="hh\:mm\:ss"

任何想法?

谢谢!对不起我的英语不好!

4

2 回答 2

3

你可以用双反斜杠这样写:

<DataGridTextColumn Binding="{Binding tiempo, StringFormat=hh\\:mm\\:ss}"/>

或者像这样使用单个反斜杠:

<DataGridTextColumn>
    <DataGridTextColumn.Binding>
        <Binding Path="tiempo" StringFormat="hh\:mm\:ss"/>
    </DataGridTextColumn.Binding>
</DataGridTextColumn>

虽然这已经是默认格式,所以

<DataGridTextColumn Binding="{Binding tiempo}"/>

应该也可以。

另请参阅此答案以获取更多示例。

于 2013-05-11T19:28:30.037 回答
0

我解决了这个问题!在数据库中,我像 bigint 一样存储“tiempo”,所以我将其更改为 nvarchar 并对其进行了一些修复。谢谢大家!

于 2013-05-15T06:55:06.060 回答