最近的工作需要在程式界面上顯示實時的系統時間,網上查了查大部分都是用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}}"/>
最終效果,還算可以: