我对WPF非常陌生。我在互联网上查找了一些关于线程的示例和教程,它们都有自己的描述方式。但对像我这样的新手来说,我想用自己的方式理解。
我可以通过数据库更新功能开始我的第一个线程。
以下是场景:
我有大量数据要插入数据库。现在让我们假设以下代码(此过程将在我点击“继续”按钮后启动):
int initial = 0;
int maxData = 10
while (initial<maxData) {
//Database query here
}
上述过程将在不同的线程中运行。
接下来,在我的主窗口中有一个“标签”。对于每个数据库查询,我想在标签中显示一些消息。
例如:
// this will happen in default UI thread.
label.Content = "Updating"; // Specifically for @TomTom ;)
编辑:
我已经完成了以下操作:var task = new Task(() =>
{
for (int i=0; i<10; i++) {
//Create new Grid HERE
// Add Table with some dynamic data here..
// print the above Grid here.
}
});
task.ContinueWith((previousTask) =>
{
label.Content = printerStatus(); // will return "Out of Paper", "printing", "Paper jam", etc.
},
TaskScheduler.FromCurrentSynchronizationContext());
label.Content = "Sending to printer";
程序会返回错误,显示“调用线程必须为STA,因为许多UI组件需要此线程类型”。 我不知道接下来该怎么办,请帮忙!