Как я могу загрузить свои данные в backgroundworker при использовании CollectionViewSource? он выдает ошибку, потому что мой CollectionViewSource находится в потоке пользовательского интерфейса.BackgroundWorker и 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();
}
}
Thanx.
Я не вижу фонового работника. но тем не менее вы должны использовать диспетчера, когда вы устанавливаете collectionview. – blindmeis
. Какое исключение и где оно выбрано? –
Я обновляю свой вопрос. –