我试图通过转换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 举报,一经查实,本站将立刻删除。