DataGridを使用したWPFプロジェクトがあります。MVVMパターンを使用しています。それは私のVMの一部です:
class LibraryViewModel
{
    #region Members
    //private SimpleLibDBEntities _database;
    ObservableCollection<BooksViewModel> _books = new ObservableCollection<BooksViewModel>();
    int count = 0;
    int sizeOfdb = 1000000;
    #endregion
    public ObservableCollection<BooksViewModel> Books
    {
        get
        {
            return _books;
        }
        set
        {
            _books = value;
        }
    }
    public LibraryViewModel()
    {
        Task task = Task.Factory.StartNew(Generator);
    }
    private void Generator()
    {
        for (count = 0; count < sizeOfdb; count++)
        {
            _books.Add(new BooksViewModel { Book = new BooksSet { Id = count, Title = "Title"+count, Author = "Author", Publisher = "Publisher", Year = 1000, Note = "Note" } });
        }
    }
それは機能しますが、私のDataGridは、私のint sizeOfdb = 1000000要素ではなく、約50 000 -100 000要素(ランダム)しか表示しません。なぜそれがうまくいくのですか?それを修復する方法は?(「タスク」なしですべてが正常に機能します)
そして、この例でasync / awaitをどのように使用できますか?そんな感じ?(動作しません。Dispathcherを使用してみてください?)
public LibraryViewModel()
{
    GeneratorAsync();
}
private async void GeneratorAsync()
{
        await Task.Factory.StartNew(()=>{
            for (count = 0; count < sizeOfdb; count++)
            {
                _books.Add(...);
            }
        });
    }