在WPF应用程序中使用 Entity Framework ,并且想知道是否要错误地加载数据。我在代码中添加了以下内容:

private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        var invoices = db.Invoices.AsNoTracking().ToList();
        listbox1.ItemsSource = invoices;
    }

加载正常,没有问题,但是直到加载了繁琐的数据后,窗 Eloquent 会显示。 wWindow_loaded是加载它的最佳方法/时间吗?

最佳答案

正如我的评论中所提到的,您所需要做的就是将UI线程从繁重的工作中解放出来,以便它可以自由地执行与UI相关的工作。

您所需要做的就是在C#async / await中使用这些“神奇”的单词:

private async void Window_Loaded(object sender, RoutedEventArgs e)
{
    var invoices = await Task.Run(() => db.Invoices.AsNoTracking().ToList());
    listbox1.ItemsSource = invoices;
}

关于c# - WPF窗口-何时加载数据以便表格立即显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26282559/

10-11 06:43