前言
在进行WPF界面跳转时,当我登陆完成后,需要跳转到主界面,遇到了一下这个问题:调用线程必须为STA,因为许多UI组件都需要, 困恼了小编半天。终于自己敢去尝试,解决了。

解决办法:
在登陆结果处理时,加入Dispatcher,Dispatcher的作用是用于管理线程工作项队列,类似于Win32中的消息队列,Dispatcher的内部函数,仍然调用了传统的创建窗口类,创建窗口,建立消息泵等操作。

Dispatcher可以参考学习一下。

     /// <summary>/// 登录结果处理/// </summary>/// <param name="result"></param>private void HandleLoginResult(NIM.NIMLoginResult result){DemoTrace.WriteLine(result.LoginStep.ToString());App.Current.Dispatcher.Invoke((Action)(() =>{MessageBox.Show("登录成功");MainWindow windows = new MainWindow();this.Hide();windows.Show();}));}

总结: 勇于尝试,不断总结,要学习的东西很多很多。

【WPF】调用线程必须为STA,因为许多UI组件都需要相关推荐

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

    WPF中,代码中准备控制控件内容时,有时会报错:" 调用线程必须为 STA,因为许多 UI 组件都需要 ". 如在winform下面,使用多线程时,控件的值读取是可以的,但如果要更 ...

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

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! WPF中 ...

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

    调用线程必须为 STA,因为许多 UI 组件都需要 情况:将底层推送的试验日志展示到日志界面 出现错误:调用线程必须为 STA,因为许多 UI 组件都需要 原因:引起异常是因为那么WPF里面,有个所谓 ...

  4. “ 调用线程必须为 STA,因为许多 UI 组件都需要 ”错误

    Application.Current.Dispatcher.Invoke((Action)delegate{//do something }); 相关链接: Dispatcher实现跨线程操作,从而 ...

  5. WPF 调用线程无法访问此对象,因为另一个线程拥有该对象

    WPF跟WinForm在这一点上是相同的:简单点来讲就是--刷新界面的活只能在UI线程里跑.你的问题是:你试图在另一个线成里刷新UI,这时候错误就会抛出,因为非UI线程是不能亲自刷新UI的,它们需要告 ...

  6. Wpf 调用线程无法访问此对象,因为另一个线程拥有该对象,解决方案

    1.Wpf 多线程修改UI示例: //启动线程修改UI,抛出异常 ThreadPool.QueueUserWorkItem((q) => {button.Content = "张三&q ...

  7. WPF [调用线程无法访问此对象,因为另一个线程拥有该对象。] 解决方案以及如何实现字体颜色的渐变...

    为什么80%的码农都做不了架构师?>>>    <Window x:Class="MyWPFApp.MainWindow"xmlns="http: ...

  8. WPF异常:调用线程无法访问此对象,因为另一个线程拥有该对象。

    WPF项目中,在viewmodel类中(非ui类),新建了一个异步调用,代码如下: (new Action(delegate { try { MakeSunLine(); } catch (Excep ...

  9. WPF不同线程之间的控件的访问

    WPF不同线程之间的控件是不同访问的,为了能够访问其他线程之间的控件,需要用Dispatcher.Invoke执行一个新的活动即可. 例如: public void SetNotes(string n ...

  10. C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】

    SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...

最新文章

  1. 深度学习 - 相关名词概念
  2. 推荐一款 Java 对象映射神器
  3. c语言学生信息系统 完整版,C语言 学生信息管理系统(完整版).docx
  4. 基因分子生物学(1)-基因常识与DNA常识
  5. Android之集成友盟推送功能
  6. 驱动开发之 设备读写方式:缓冲区方式
  7. datatable 动态显示/隐藏列
  8. wegwegwegwegweg
  9. 2011-10-18 22:20 mysql 中IFNULL 、IF、CASE 语句介绍
  10. Daily Scrum 11.5日
  11. 数据预处理第3讲:归一化与离散化
  12. 天天生鲜项目实战-思路 数据库设计
  13. 国内外IGS数据及产品下载网站
  14. css3 clac函数的易错整理
  15. 利用高频信号改变钢丝磁性来实现大量存储信息的钢丝录音机
  16. 【笔记】软件测试04——MySQL
  17. 进化:屌丝的互联网逆袭之路
  18. 软考:头脑风暴与德尔菲法的区别(转)
  19. 高中人教版地理教案三-Leo老师
  20. C++ Vecor 清空内存

热门文章

  1. 简单工厂模式--计算器代码及UML图
  2. C# GridView中DataFormatString属性的取值
  3. 魅族mx4pro刷linux,魅族MX4 Pro刷recovery教程_魅族MX4 Pro第三方recovery下载
  4. Linux VS code安装Monaco字体
  5. PHP无损调整照片大小,怎么无损放大图片,批量修改图片大小而不失真,照片无损放大软件...
  6. 关于财务BI系统-报表分析(全)
  7. win2019微软更新服务器,微软2019 Windows 10更新十一月版正式版推送
  8. 最早设计计算机的目的是进行科学计算,其主要计算的问题面向,北京师范大学计算机试题1答案...
  9. 搜索引擎推荐(可以代替谷歌的搜索引擎)
  10. 三星 s9 android 9,美国V版三星S9/S9+迎来安卓9更新