Я пытаюсь решить классическую проблему -
У меня есть многопоточное приложение, которое запускает некоторые
ресурсоемкие вычисления с графическим интерфейсом.
Каждый раз, когда один из потоков завершил задачу, я бы хотел
обновить статус на столе
taskID | статус
Я использую DataGridView и BindingList следующим образом:
BindingList<Task> tasks;
dataGridView.DataSource = tasks
public class Task : INotifyPropertyChanged
{
ID{get;}
Status{get;set;}
}
Может ли фоновый поток безопасно обновлять статус задачи?
и изменения будут отображаться в правильном порядке в графическом интерфейсе?
Второй вопрос:
Когда мне нужно позвонить в PropertyChanged?
Я пытался бежать с вызовом и без него, похоже, не беспокоил ..
Третий вопрос:
Я видел на MSDN, что dataGridView использует BindingSource
в качестве посредника между DataGridView.DataSource и BindingList
Это действительно необходимо?