微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 将秒数转换为分钟数:秒

我试图通过转换Total Seconds来绑定TextBlock的Text属性,即

1004到分钟:秒我可以成功地从XML中取出我的秒数,但我不知道如何使用Getters和Setter,所以我可以将我的秒数转换为分钟:秒

我看过TimeSpan,我知道它可以做我要求的但我不知道如何编写getter和setter所以它会将整数值(秒)转换为Minute:Seconds格式.

到目前为止,这是我班上的内容

public class Stats 
{
 public TimeSpan Time {get;set;}
}

任何帮助将不胜感激,

谢谢

约翰

解决方法

会推荐这个转换器(因为当你真正想要2:01时,前两个答案会给你2:1 –

public class FriendlyTimeConverter : IValueConverter
{
    public object Convert(object value,Type targettype,object parameter,CultureInfo culture)
    {
        TimeSpan ts = TimeSpan.FromSeconds((int)value);
        return String.Format("{0}:{1:D2}",ts.Minutes,ts.Seconds);                
    }

    public object ConvertBack(object value,CultureInfo culture)
    {
        throw new NotImplementedException();
    }

}

Note the :D2 specifier for format strings.

要使用它,您可以在绑定的同时指定它:

<phone:PhoneApplicationPage.Resources>
    <util:FriendlyTimeConverter x:Key="FriendlyTimeConverter"/>
</phone:PhoneApplicationPage.Resources>

...

<TextBlock Text="{Binding timeRemaining,Converter={StaticResource FriendlyTimeConverter}}" Name="Timerdisplay" Grid.Column="4" HorizontalAlignment="Right" Margin="12,0" Style="{StaticResource PhoneTextTitle2Style}"></TextBlock>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐