最近的工作需要在程序界面上顯示實時的系統時間,網上查了查大部分都是用Timer或者線程來實現。
個人非常不喜歡用Timer,感覺這東西有點太耗資源,然后思考了下覺得更好的方法應該是使用異步的方法在委托中更新時間,比線程簡單,效率和性能上又要比Timer好很多。
實現方法很簡單啦,先定義一個DateTime屬性,當然要實現INotifyPropertyChanged屬性,以便前台綁定:
然后是異步方法,在適當的地方調用即可:
最后Xaml中綁定CurrentTime屬性:
<TextBlock Text="{Binding CurrentTime,StringFormat={}{0:yyyy-MM-dd hh:mm:ss t\\M}}"/>
最終效果,還算可以: