如何在wpf(DataGrid)中格式化TimeSpan?

Roo*_*omm 3 c# format wpf datagrid timestamp

我将 TimeSpan 以刻度为单位保存到 SqlCe 中,当我将数据加载到 DataGrid 中时,我想以 HH:MM:SS 格式设置该值。我用这个试试:

<DataGridTextColumn Binding="{Binding tiempo, StringFormat={}{0:hh':'mm':'ss}, TargetNullValue=' --- '}"  Width="80" Header="Tiempo"/>
Run Code Online (Sandbox Code Playgroud)

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

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

任何想法?

谢谢!抱歉我的英语不好!

Cle*_*ens 5

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

<DataGridTextColumn Binding="{Binding tiempo, StringFormat=hh\\:mm\\:ss}"/>
Run Code Online (Sandbox Code Playgroud)

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

<DataGridTextColumn>
    <DataGridTextColumn.Binding>
        <Binding Path="tiempo" StringFormat="hh\:mm\:ss"/>
    </DataGridTextColumn.Binding>
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)

尽管这已经是默认格式,所以

<DataGridTextColumn Binding="{Binding tiempo}"/>
Run Code Online (Sandbox Code Playgroud)

应该也可以。

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