Мой маленький код WPF дает мне эту ошибку Вызывающий поток не может получить доступ к этому объекту, потому что другой поток владеет им Я знаю, что именно он говорит, но я не могу понять, как я могу это исправить.Я пробовал разные вещи, но не повезло, и я признаю, что я не очень хорош в библиотеке задач.
Это то, чего я пытаюсь достичь.
- Загрузка данных при загрузке формы WPF- Это нормально
- В форме пользователь нажимает кнопку Обновить , чтобы обновить данные из базы данных.
здесьмой код
public partial class DocListView : UserControlListBase
{
private ScecoBillDataScope _scecoBillDataScope;
public EntityCollection<ScecoBillEntity> ScecoBills = new EntityCollection<ScecoBillEntity>();
public DocListView()
{
InitializeComponent();
LoadData();
}
private async void LoadData()
{
await Task.Run(() =>
{
_scecoBillDataScope.FetchData();
});
var collectionView = CollectionViewSource.GetDefaultView(_scecoBillDataScope.ScecoBills);
await Dispatcher.BeginInvoke(new ThreadStart(()=> LayoutRoot.DataContext = collectionView));
}
private void BbiRefresh_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
{
_scecoBillDataScope.Reset();
LoadData();
e.Handled = true;
}}
На самом деле ошибка появляется, когда я нажимаю кнопку Обновить в этой строке _scecoBillDataScope.FetchData (); Пожалуйста, советуйте.