我有一个响应事件的应用程序,并将事件中的数据添加到“ListView”中,我有一个具有3个属性的简单类。
ListView保存这些数据:
public string Code { get; set; }
public string Status { get; set; }
public TimeAgo Time { get; set; }
类TimeAgo是:
public class TimeAgo
{
private DateTime _time;
public TimeAgo(DateTime time) { _time = time; }
public override string ToString()
{
return new TimeSpan(DateTime.Now.Ticks - _time.Ticks).Seconds + " seconds ago";
}
}
所以,每当发生新事件时,我希望其他对象更新,所以如果我添加一个新对象,它会说“0秒前”,但旧的应该更新并说“15秒前”所以我可以跟踪每个事件在更新后发生的时间。
我已经为此搜索了方法,但我尝试过的所有方法都没有用。
有什么想法吗?
答案 0 :(得分:1)
只需将Seconds作为绑定的属性。
置于顶部
Insert(0, T item
对于ObservableCollection中的所有项目,调用NotifyPropertyChanged(“Seconds”);插入后。
答案 1 :(得分:0)
这似乎很简单。 “最新条目是第一次” - 你可以简单地通过TimeAgo订购你的数据源(但你必须实现IComparable)
您是否使用MVVM(您将其标记为WPF)?如果是 - 只需使用ObservableCollection类作为ListView DataSourse。还应调查this