C# 使用stopwatched的数据绑定问题

C# 使用stopwatched的数据绑定问题,c#,.net,wpf,binding,C#,.net,Wpf,Binding,我试图创建一个类,当它启动时,它启动一个秒表,所有经过的时间都被写入一个本地变量,我有一个数据绑定到的Listview。但是当我使用这段代码时,Listview只显示00:00:00.00000001,从不更改。 该类代码为: namespace project23 { public class ActiveEmployee { public int EmpID { get; set; } public string EmpName { get;

我试图创建一个类,当它启动时,它启动一个秒表,所有经过的时间都被写入一个本地变量,我有一个数据绑定到的Listview。但是当我使用这段代码时,Listview只显示00:00:00.00000001,从不更改。 该类代码为:

namespace project23 { public class ActiveEmployee { public int EmpID { get; set; } public string EmpName { get; set; } private DateTime date; private BackgroundWorker worker; public Stopwatch sw; public ActiveEmployee(int empID, string empName) { date = DateTime.Now; worker = new BackgroundWorker(); worker.DoWork += BackgroundWork; worker.WorkerReportsProgress = true; worker.RunWorkerAsync(); } private TimeSpan elapsed; public TimeSpan Elapsed { get { return elapsed; } set { elapsed = value; NotifyPropertyChanged("Elapsed"); } } private void BackgroundWork(object sender, DoWorkEventArgs args) { sw = new Stopwatch(); sw.Start(); if(true) { Elapsed = sw.Elapsed; } } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } } } }数据绑定和观察更改依赖于更改通知事件;通常是
*已更改
(对于属性
*
)或
INotifyPropertyChanged
(尽管可以自定义实现)


秒表
不提供此功能;您最好使用
计时器
,每隔一段时间更新一次UI。只要在启动时存储
日期时间
,并且每当计时器触发时,就计算从那时到现在的偏移量。

您需要实现INotifyPropertyChanged接口。将类声明修改为:

public class Employee : System.ComponentModel.INotifyPropertyChanged

请参阅。

使用if(true)语句有什么意义?你的意思是在写的时候写的吗


在线程中只更新一次运行时间,那么它就存在了。。这是您在表单上看到的

但是我确实在文件的底部更改了属性?因此,当经过的时间=经过的时间;被调用(一直都是),那么它应该更新控件吗?
public class Employee : System.ComponentModel.INotifyPropertyChanged