ObservableCollection<String> listBoxItems = new ObservableCollection<String>();
scheduledRecordingListBox.ItemsSource = listBoxItems;
public void timerElapsed(object sender, ElapsedEventArgs e)
{
listBoxItems.Remove(itemToBeRemoved);
}
只是我正在尝试做的事情的片段。我认为错误是由于计时器运行在与我正在尝试删除的ObservableCollection的GUI主线程不同的线程上的。
答案 0 :(得分:1)
如果您使用的是WinForms,那么只需使用System.Windows.Timer类。它的Tick事件在UI线程上自动执行。
答案 1 :(得分:0)
答案 2 :(得分:0)
这应该做的伎俩:
public void timerElapsed(object sender, ElapsedEventArgs e)
{
this.Invoke(new Action(() => listBoxItems.Remove(itemToBeRemoved)));
}