Wpf之MVVM线程问题
话说,Wpf更新界面,只能在界面线程进行更新,但是今天我在用MVVM的时候,居然发现,可以在另外一个线程更新界面元素?
非常奇怪,猜测:难道MVVM框架已经做到了自己会通知到界面元素
尝试如下:这是一个界面鼠标的点击处理时间
private async void CmdLoginEvent(object obj){{var id= Thread.CurrentThread.ManagedThreadId;int i = 0;}var Rsp = await m_Login_Module.HandleLogin(User, Psw, ServerIp, ServerPort).ConfigureAwait(false);if(false == Rsp.Resule){LoginError = Rsp.ResultCode;}{var id = Thread.CurrentThread.ManagedThreadId;int i = 0;}}
第一个获取当前线程为界面线程的ID,第二个获取当前线程为线程池的ID,两个ID是不一样的。
但是我通过MVVM更新界面元素的值,结果界面没有崩溃,居然正常显示了。这说明MVVM给属性赋值,可以自动切换到界面线程中去。调试截图如下:
第一个线程ID:
第二个线程ID:
界面没有崩溃
Wpf之MVVM线程问题相关推荐
- CleanAOP实战系列--WPF中MVVM自动更新
CleanAOP实战系列--WPF中MVVM自动更新 作者: 立地 邮箱: jarvin_g@126.com QQ: 511363759 CleanAOP介绍:https://github.com/J ...
- 【WPF】MVVM模式的3种command
原文:[WPF]MVVM模式的3种command 1.DelegateCommand 2.RelayCommand 3.AttachbehaviorCommand 因为MVVM模式适合于WPF和SL, ...
- 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器
从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 这段时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了. Calibu ...
- WPF 微信 MVVM
公司的同事离职了,接下来的日子可能会忙碌,能完善DEMO的时间也会少了,因此,把做的简易DEMO整体先记录一下,等后续不断的完善. 参考两位大神的日志:WEB版微信协议部分功能分析.[完全开源]微信客 ...
- WPF 之 调用线程必须为 STA,因为许多 UI 组件都需要
WPF中,代码中准备控制控件内容时,有时会报错:" 调用线程必须为 STA,因为许多 UI 组件都需要 ". 如在winform下面,使用多线程时,控件的值读取是可以的,但如果要更 ...
- WPF框架教程 | 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器
之前时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了. Caliburn.Micro(https://blog.csdn.net/lzuacm/ar ...
- WPF中MVVM模式的 Event 处理
WPF的有些UI元素有Command属性可以直接实现绑定,如Button 但是很多Event的触发如何绑定到ViewModel中的Command呢? 答案就是使用EventTrigger可以实现. 继 ...
- WPF Demo15 MVVM
项目结构如下: <Window x:Class="MVVMDemo.MainWindow"xmlns="http://schemas.microsoft.com/w ...
- WPF框架MVVM简单例子
MVVM是Model-View-ViewModel的缩写形式,它通常被用于WPF或Silverlight开发. Model--可以理解为带有字段,属性的类. View--可以理解为我们所看到的UI. ...
最新文章
- iOS应用模块化的思考及落地方案(一)模块的划分及模块化工作流程
- 非对称卷积增强CNN特征拟合
- 初等数论--整除--整数表示:算数分解定理/素因数分解式/进制表示
- oracle中文乱码问题
- 前沿观察 | SageDB:一个自学成才的数据库
- 用Eclipse给安卓应用进行签名
- poj 1236 Network of Schools
- git ssh创建分支_【ssh简单版git-server 1】自建git-server
- 3项目里面全局用less变量 cli vue_vue-cli3配置使用vw实现移动端适配案例
- 常用方法 保证数据长度相同
- SpringBoot使用RestTemplate 摘要认证
- 在linux上安装svn
- 双线性对在密码学中的应用(下)
- 技术分享 | MaxScale 实现 MySQL读写分离
- imagemagick对于图像处理的一些方式
- java考试座位号_怎么用java编写出座位号(1.0)这样格式?
- echarts实现全国及各省市地图(内附地图json文件)
- 如何使用方位X210来查看海康威视IP摄像头
- chmod +x 与chmod 777的区别
- qlikview连接数据库
热门文章
- 关于我小孩的教育意见
- Win2008 R2 VDI动手实验系列之三:远程桌面会话主机配置
- 【海洋女神原创】关于installshield“完美卸载”的改进方法
- IE8 默认以Web Standards模式显示网页 全面遵循Web标准
- Grafana 系统可视化监控
- 在系统可编程器件一般使用计算机,eda技术与vhdl复习练习题.docx
- java多张图片合成一张_利用溶图技巧把多张图片合成一张奇幻风格图片教程
- Maven安装与配制环境【win7/win10】
- Vue学习笔记之16-tarbar地开发思路
- 阿里云大学python教程下载_阿里大学开放 11 门免费 Python 视频课程