使用异步方法在XAML中绑定系统时间

Posted yanshouwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用异步方法在XAML中绑定系统时间相关的知识,希望对你有一定的参考价值。

最近的工作需要在程序界面上显示实时的系统时间,网上查了查大部分都是用Timer或者线程来实现。

个人非常不喜欢用Timer,感觉这东西有点太耗资源,然后思考了下觉得更好的方法应该是使用异步的方法在委托中更新时间,比线程简单,效率和性能上又要比Timer好很多。

实现方法很简单啦,先定义一个DateTime属性,当然要实现INotifyPropertyChanged属性,以便前台绑定:

技术分享图片

然后是异步方法,在适当的地方调用即可:

技术分享图片

最后Xaml中绑定CurrentTime属性:

<TextBlock Text="{Binding CurrentTime,StringFormat={}{0:yyyy-MM-dd hh:mm:ss t\\\\M}}"/>

最终效果,还算可以:

技术分享图片

 

以上是关于使用异步方法在XAML中绑定系统时间的主要内容,如果未能解决你的问题,请参考以下文章

XAML - 绑定到 DataContext 并使用转换器?

WPF中使用ObjectDataProvider绑定方法

WPF中使用ObjectDataProvider绑定方法

如何在 WPF/XAML 中绑定背景颜色?

选择器 ItemSource 值未绑定在 XAML ListView 中

是否可以在 XAML 中绑定 Canvas 的 Children 属性?