1

如果我想将 2.01:30:00 显示为 49:30 什么是合适的字符串格式?

4

1 回答 1

1

不是很优雅,但这个 C# 有效:

((int)time.TotalHours).ToString() + ":" +
((int)(time.TotalMinutes - (int)time.TotalHours * 60)).ToString()

所以你必须编写一个转换器来接收你的 TimeSpan 并输出这个字符串:

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value == null) return null;
        var time = (TimeSpan)value;
        return ((int)time.TotalHours).ToString() + ":" +
               ((int)(time.TotalMinutes - (int)time.TotalHours * 60)).ToString();
    }

然后在您的 XAML 中:

<TextBlock Text={Binding theTimeSpan, Converter={StaticResource TimeSpanConverter}} />
于 2013-02-26T11:47:57.713 回答