[英]Removing from ListBox inside of a Timer
ObservableCollection<String> listBoxItems = new ObservableCollection<String>();
scheduledRecordingListBox.ItemsSource = listBoxItems;
public void timerElapsed(object sender, ElapsedEventArgs e)
{
listBoxItems.Remove(itemToBeRemoved);
}
只是我實際上正在嘗試做的一小段。 我相信是由於計時器在與我要從中刪除的ObservableCollection的GUI主線程不同的線程上運行而導致的錯誤。
如果使用的是WinForms,則只需使用System.Windows.Timer類。 它的Tick事件在UI線程上自動執行。
這應該做的把戲:
public void timerElapsed(object sender, ElapsedEventArgs e)
{
this.Invoke(new Action(() => listBoxItems.Remove(itemToBeRemoved)));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.