相关疑难解决方法(0)

如何使用WPF后台工作程序

我是WPF的初学者,在我的应用程序中,我需要执行一系列初始化步骤,这些步骤需要7-8秒才能完成,在此期间我的UI变得无法响应.为了解决这个问题,我在一个单独的线程中执行初始化:

public void Initialization()
{
    Thread initThread = new Thread(new ThreadStart(InitializationThread));
    initThread.Start();
}

public void InitializationThread()
{
    outputMessage("Initializing...");
    //DO INITIALIZATION
    outputMessage("Initialization Complete");
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些文章BackgroundWorker,关于它应该如何允许我保持我的应用程序响应,而不必编写一个线程来执行冗长的任务,但我没有成功地尝试实现它,任何人都可以告诉我怎么做这个使用BackgroundWorker

谢谢,Eamonn

c# wpf multithreading backgroundworker

174
推荐指数
3
解决办法
17万
查看次数

如何在WPF中处理长时间运行的"线程"?

晚上好!

目前我正在为一些休息服务开发一个wpf-client.与休息服务的通信是没有问题的,并且是在额外的组装(通信接口)中完成的.

基本上:
我有一个"搜索"按钮,它执行一个方法.这个方法与服务进行通信,更新一些文本框和进度条(给用户一些图形信息,我们到底有多远......).不幸的是,托管服务的服务器有点蹩脚,导致一些严重的响应时间(大约4秒).另一方面,这导致我的wpf应用程序等待,最终结果是:变黑,并且标题为"没有响应"......

我已经尝试将此执行放在另一个线程中,但是......我不会获得对wpf窗口控件的任何访问权限......这是合乎逻辑的...

atm我真的很无奈......有谁可以给​​我一些handeling例程或解决方案?

.net c# wpf multithreading

4
推荐指数
1
解决办法
3474
查看次数

标签 统计

c# ×2

multithreading ×2

wpf ×2

.net ×1

backgroundworker ×1