如何在单独的项目中读取数据时如何逐行访问数据?

时间:2016-06-23 15:36:53

标签: c# .net wpf

我有2个不同的项目可以互相协作。一个是类库,另一个是WPF应用程序。所以在类库中有一个函数可以访问一些数据(100000多行)。我的目标是在阅读时将这些内容写入WPF应用程序(在视图或表格或其他内容中)。但是,我的结构不支持这一点。这就是为什么......

List<string> _output = new List<string>();
var output = new readBlock<DataRow>(row =>
            {
                _output.Add(row);
            });

上面的代码片段是我将每一行作为字符串并将其添加到列表中的位置。此函数(在类库中)在完成读取所有行时最终返回列表_output。这个函数原型看起来像这个public static async Task<List<string>> RunAsync

所以这里的问题是,当我需要数据时,我通常需要等待一分钟左右,而所有行都被添加到该列表中......然后我才能看到数据涌入我的WPF视图。

理想情况下,每次将新项目(行)添加到我的列表_output时,我都希望将其发送到另一个项目到WPF视图。

So when I call it in the WPF app like
TestList = ClassName.RunAsync(params).Result;
// Takes a minute or so to move to next line
foreach (var res in TestList)
  // update view
...

有没有更好的方法来实现我想要做的事情?我想将两个项目分开。 WPF应用程序和数据访问库。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

我想也许你应该在另一个线程中读取数据并在读取时调用wpf窗口来更新UI,或者在读取行时将委托传递给你的类库和回调