使用异步方法在XAML中绑定系统时间
程序员文章站
2022-03-29 12:04:47
最近的工作需要在程序界面上显示实时的系统时间,网上查了查大部分都是用Timer或者线程来实现。 个人非常不喜欢用Timer,感觉这东西有点太耗资源,然后思考了下觉得更好的方法应该是使用异步的方法在委托中更新时间,比线程简单,效率和性能上又要比Timer好很多。 实现方法很简单啦,先定义一个DateT ......
最近的工作需要在程序界面上显示实时的系统时间,网上查了查大部分都是用Timer或者线程来实现。
个人非常不喜欢用Timer,感觉这东西有点太耗资源,然后思考了下觉得更好的方法应该是使用异步的方法在委托中更新时间,比线程简单,效率和性能上又要比Timer好很多。
实现方法很简单啦,先定义一个DateTime属性,当然要实现INotifyPropertyChanged属性,以便前台绑定:
然后是异步方法,在适当的地方调用即可:
最后Xaml中绑定CurrentTime属性:
<TextBlock Text="{Binding CurrentTime,StringFormat={}{0:yyyy-MM-dd hh:mm:ss t\\M}}"/>
最终效果,还算可以:
推荐阅读
-
在JavaScript中操作时间之setYear()方法的使用
-
在JavaScript中操作时间之getYear()方法的使用教程
-
在JavaScript中处理时间之setMinutes()方法的使用
-
在JavaScript中操作时间之getUTCDate()方法的使用
-
在JavaScript中处理时间之getHours()方法的使用
-
在JS中操作时间之getUTCMilliseconds()方法的使用
-
在Python中操作时间之mktime()方法的使用教程
-
在Python中操作日期和时间之gmtime()方法的使用
-
在Python中操作时间之tzset()方法的使用教程
-
在Python中操作时间之strptime()方法的使用