调用线程必须为 STA,因为许多 UI 组件都需要(转载)
自VS2005开始,UI元素在不同线程中访问就受到限制了,当然你也可以解除这种限制
以下提供Framework3.0的解决方案发:
public partial class Window1 : Window
{
private delegate void DoTask();
public Window1()
{
InitializeComponent();
Thread t = new Thread(new ThreadStart(Start));
t.Start();
}
private void Start()
{
System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new DoTask(DoMyTask));
}
private void DoMyTask()
{
//在此执行你的代码
}
}
如果是2.0的,你可以看看这篇文章
http://hi.baidu.com/aptsnail/blog/item/2c7e717a003407e92e73b388.html