调用线程必须为 STA,因为许多 UI 组件都需要

原创 2011年01月20日 16:33:00

   Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc));
   NetServer.Start();

 

   WPF工程里,此线程不可以操作UI元素,避免方法如下:

 

1、public delegate void DeleFunc();
     public void Func()
     {

          //使用ui元素    

    }

   

    线程函数中做如此调用:

   System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal,
                                                        new DeleFunc(Func));

    即可。

 

2、 Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc));
      NetServer .SetApartmentState(ApartmentState.STA);
      NetServer .IsBackground = true;

      NetServer.Start();
     

      线程函数中做如此调用:

     System.Windows.Threading.Dispatcher.Run();
     即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

调用线程必须为 STA,因为许多 UI 组件都需要

WPF中,代码中准备控制控件内容时,有时会报错:调用线程必须为 STA,因为许多 UI 组件都需要我知道,在winform下面,使用多线程时,控件的值读取是可以的,但如果要更改,那么就必须进行一些特别...

调用线程必须为 STA,因为许多 UI 组件都需要

原文链接:点击打开链接 Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc)); NetS...

CDN技术介绍

背景Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越 高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的...

settings里的 wifi流程

Wifi启动流程        (1)使能Wifi        要想使用Wifi模块,必须首先使能Wifi,当你第一次按下Wifi使能按钮时,WirelessSettings...
  • sshhbb
  • sshhbb
  • 2011-10-20 16:42
  • 3898

关于Intent的一点小事

一点小事...   显式Intent:直接用组件的名称定义目标组件 Intent it = new Intent(MainActivity.this,SecondActivity.class)...

从win32 api 到 .net framework(二)

形如windows api函数:BOOL MessageBeep( UINT uType // beep type );c#托管引用声明格式如下:[DllImport("User32.dll")] s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)