将日期作为相对时间(“5秒前”)渲染到网格中并实时更新(WPF)?

时间:2012-03-14 12:22:43

标签: c# wpf xaml

我正在使用WPF,XAML和C#来生成一个网格,该网格侦听具有我想要相对显示的日期字段的模型源。目前它显示为.ToString(),但我的实际问题是如何实现每秒可能的相对时间(或其活动格式)。是否有一些强制重新呈现UI的首选方法,因为数据确实始终保持不变(每秒只需要重绘一列并调用相应的格式化方法)。

1 个答案:

答案 0 :(得分:1)

如果您绑定到视图模型,那么您可以每秒提升一次属性更改。

   public class MyViewModel : ViewModelBase
   {
       private void OnTimerTick()
       {
           OnPropertyChanged("Date");
       }

       public string Date
       {
           get{ return DateTime.Now().AddSeconds(-5).ToString();
       }
   }

ViewModelBase实现 INotifyPropertyChanged 并且您正在使用DispatcherTimer来引发计时器刻度事件。