Прежде всего, вспомогательное поле для не * stati c свойства не должно быть stati c. Удалите модификатор static
из _IDirectorys.
Затем при создании новой коллекции в StartScan назначьте ее свойству, а не полю поддержки. В противном случае NotifyOfPropertyChange
не вызывается.
public async Task StartScan()
{
DataAccess dataAccess = new DataAccess();
Data = new BindableCollection<DataModel>(await dataAccess.Starter(progress, cts.Token));
}
Обратите внимание, что вам не нужно ни BindableCollection, ни ObservableCollection, когда вы только создаете новые экземпляры коллекции, но никогда не добавляете и не удаляете элементы в / из существующей коллекции.
Так что это также должно работать:
private IEnumerable<DataModel> data;
public IEnumerable<DataModel> Data
{
get => data;
set
{
data = value;
NotifyOfPropertyChange(() => Data);
}
}
public async Task StartScan()
{
DataAccess dataAccess = new DataAccess();
Data = await dataAccess.Starter(progress, cts.Token);
}
Последнее, но не менее важное, установка UpdateSourceTrigger
и NotifyOnSourceUpdated
в привязке ItemsSource не имеет смысла. Этого достаточно:
<ItemsControl ItemsSource="{Binding Data}">