How to format TimeSpan in XAML

后端 未结 9 2441
一生所求
一生所求 2020-11-30 00:43

I am trying to format a textblock which is bound to a TimeSpan property. It works if the property is of type DateTime but it fails if it is a

相关标签:
9条回答
  • 2020-11-30 01:43

    TimeSpan StringFormat with milliseconds:

    <TextBlock Text="{Binding MyTime, StringFormat=\{0:hh\\:mm\\:ss\\.fff\}}"/>
    
    0 讨论(0)
  • 2020-11-30 01:45

    StringFormat must be in the form of a format string. In this case it would look like:

    <TextBlock Text="{Binding MyTime,StringFormat=`Time values are {0:hh\\:mm}`}"/>
    

    Note: if you want to display the total number of hours and minutes and the timespan happens to be greater than 24 hours, there's a caveat with your approach: Here's a workaround.

    0 讨论(0)
  • 2020-11-30 01:45

    WPF in .NET 4 now has timespan from strings http://msdn.microsoft.com/en-us/library/ee372286.aspx

    I am using the following <TextBlock FontSize="12" Text="{Binding Path=TimeLeft, StringFormat={}{0:g}}" />

    0 讨论(0)
提交回复
热议问题