我正在创建一个签到登录应用程序,该应用程序允许学生通过在NFC读卡器上点击其卡进行登录。讲师的门户网站上会显示出勤屏幕,讲师将能够跟踪到谁登录了,该屏幕将为尚未参加会议的学生显示一个红色圆圈,为已登录的学生显示一个绿色圆圈。
我正在使用后台工作人员,该工作人员将允许NFC读取器连续监听要扫描的卡,并在需要时立即更新UI。这是我第一次与背景工作人员合作,因此我对使用它们的了解不足。问题是,当扫描卡并识别出学生时,我不知道如何更新UI。
private void WaitChangeStatus(object sender, DoWorkEventArgs e)
{
nfcSer = new MainWindow();
while (!e.Cancel)
{
if (nfcSer.connectCard())
{
//this updates the student's attendance status to true
StudentsController.setAttendStudent(nfcSer.getcardUID(), Convert.ToInt32(Session["courseID"]));
//this calls the method which returns the same view of the attendance list of students however the student attendance status is changed.
classStudents(Session["ModuleName"].ToString());
}
}
}
答案 0 :(得分:-1)
使用
SynchronizationContext.Current
在程序的开头(在ui线程内部)以存储其同步上下文。 然后您可以使用
SynchronizationContext.Post(SendOrPostCallback, Object)
在UI线程上运行代码。