Как я могу загрузить свои данные в backgroundworker при использовании CollectionViewSource? он выдает ошибку, потому что мой CollectionViewSource находится в потоке пользовательского интерфейса.
Это весь мой код (Мой рабочий фон установлен в Xaml):
public partial class DepartmentsLookup : Window
{
private BackgroundWorker backgroundWorker;
private ObservableCollection<Department> AllDepartmentsData;
private ListCollectionView AllDepartmentsView;
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
IEnumerable<Department> data = null;
using (ArchiveEntities db = new ArchiveEntities())
{
data = db.Departments;
this.AllDepartmentsData = new ObservableCollection<Department>(data);
}
CollectionViewSource departmentsSource = (CollectionViewSource)this.FindResource("AllDepartmentsDataSource");
departmentsSource.Source = this.AllDepartmentsData;
this.AllDepartmentsView = (ListCollectionView)departmentsSource.View;
}
public DepartmentsLookup()
{
InitializeComponent();
backgroundWorker = ((BackgroundWorker)this.FindResource("backgroundWorker"));
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
backgroundWorker.RunWorkerAsync();
}
}
спасибо.