我试图使用StringFormat属性显示时间跨度数据有点困难。我正在使用以下代码:
<TextBlock Text="{Binding Duration, StringFormat='Time: {0:HH.mm}'}" FontSize="12" />
当我运行我的应用程序来测试它时,在点击一个按钮以检索一些数据(其中包含一个时间跨度值)后,应用程序就会被冻结。
但是,如果我不使用字符串格式属性,则数据显示为OK,格式为: 的 00:03:49.4590000
以上输出是我要显示的输出00:03:49(HH:mm:ss)或03:49(mm:ss)
另外,我发现这段代码也是如此:
<TextBlock Text="{Binding Duration, StringFormat=\{0\:N0\}}" FontSize="12" />
但是,重新开始是一样的。应用程序被冻结
有没有人有一个很好的例子如何使用字符串格式属性来显示TimeSpan值? 或者我会错过上面的代码吗?
问候!
答案 0 :(得分:1)
您可以像这样绑定TimeSpan,文本块将显示为02:23(2小时23分钟):
<TextBlock Text="{Binding time, StringFormat='{}{0:hh\\:mm}'}"/>
您也可以将TimeSpan转换为DateTime,并将其绑定为:
<TextBlock Text="{Binding time, StringFormat='{}{0:HH:mm}'}"/>