随笔分类 -  WPF

摘要:Winforms 跨线程更新 UI 在 Winforms 中, 所有的控件都包含 InvokeRequired 属性, 如果我们要更新UI,通过它我们可以判断是否需要调用 [Begin]Invoke. 直接使用 直接调用 SetText 即可。 使用扩展方法 使用: WPF 跨线程更新 UI 在 W 阅读全文
posted @ 2019-10-21 11:21 DarJeely 阅读(1191) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/xiashengwang/archive/2012/08/18/2645588.html 不管我们使用thread,threadPool,task,还是APM异步,本质都是在使用多线程。对于新手来说,不太敢用多线程的原因,就我个人的体验来说,就是 阅读全文
posted @ 2019-10-21 10:40 DarJeely 阅读(304) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/xiashengwang/archive/2012/08/18/2645541.html 我们知道只有UI线程才能更新UI界面,其他线程访问UI控件被认为是非法的。但是我们在进行异步操作时,经常需要将异步执行的进度报告给用户,让用户知道任务的进度 阅读全文
posted @ 2019-10-21 10:37 DarJeely 阅读(811) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/endlesscoding/p/9314273.html 作者:@静哥哥本文为作者原创,未经博主允许,请勿转载:https://www.cnblogs.com/endlesscoding/p/9314273.html 阅读目录 0、讲点废话 1、 阅读全文
posted @ 2019-10-21 10:36 DarJeely 阅读(1302) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/Jarvin/p/3756061.html WPF多线程UI更新——两种方法 前言 在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对象 阅读全文
posted @ 2019-10-21 10:34 DarJeely 阅读(1625) 评论(0) 推荐(0)
摘要:在做WPF开发时,如果直接在子线程里更新UI会报错—–“调用线程无法访问此对象,因为另一个线程拥有该对象。”,这是因为WPF禁止在非UI线程里直接更新UI界面。 解决方案: 在子线程里调用Dispatcher.BeginInvoke()或者Invoke()方法。 例如更新一个Button上的文字内容,可以在子线程里这样写: this.myButton.Dispatcher.BeginInvoke( 阅读全文
posted @ 2019-10-21 10:32 DarJeely 阅读(592) 评论(0) 推荐(0)
摘要:首先需要定义一个委托(delegate): private delegate void delegateSetProcessBarVal(int value); 然后定义一个方法来执行具体的操作: private void setProcessBarVal(int value){ this.proc 阅读全文
posted @ 2019-10-21 10:27 DarJeely 阅读(1216) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/bdbw2012/articles/3777594.html 我们知道只有UI线程才能更新UI界面,其他线程访问UI控件被认为是非法的。但是我们在进行异步操作时,经常需要将异步执行的进度报告给用户,让用户知道任务的进度,不至于让用户误认为程序“死 阅读全文
posted @ 2019-10-21 10:25 DarJeely 阅读(1726) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/atskyline/archive/2012/06/22/2558516.html 简介 但凡涉及到图形界面,往往的设计都是不支持或者不推荐使用多个线程操作界面内容.而且通常会有一个专门的线程调度器来处理任务线程和界面线程的问题.下面提供两个两个 阅读全文
posted @ 2019-10-21 10:21 DarJeely 阅读(1513) 评论(0) 推荐(0)
摘要:在线程中添加下面两行,把操作UI的命令放到一个新函数中 Action 起个名 = new Action(操作UI的函数名);要操作的控件名.Dispatcher.BeginInvoke(起个名); 阅读全文
posted @ 2019-10-21 10:15 DarJeely 阅读(446) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-07-03 17:30 DarJeely 阅读(233) 评论(0) 推荐(0)
摘要:WPF Step By Step 系列-Prism框架在项目中使用 回顾 上一篇,我们介绍了关于控件模板的用法,本节我们将继续说明WPF更加实用的内容,在大型的项目中如何使用Prism框架,并给予Prism框架来构建基础的应用框架,并且如何来设计项目的架构和模块,下面我们就来一步步开始吧。 本文大纲 阅读全文
posted @ 2019-06-24 16:49 DarJeely 阅读(667) 评论(0) 推荐(0)
摘要:【MVVM Light】新手初识MVVM,你一看就会 【MVVM Light】新手初识MVVM,你一看就会 一、前言 作为一个初入软件业的新手,各种设计模式与框架对我是眼花缭乱的。所以当我接触到这些新知识的时候就希望自己能总结几个步骤,以便更好更方便的在日常工作中进行使用。 MVVM顾名思义就是Mo 阅读全文
posted @ 2019-06-24 16:28 DarJeely 阅读(1286) 评论(0) 推荐(1)
摘要:MvvmLight框架使用入门(四) 本篇我们着重介绍ViewModelBase,演示Set和RaisePropertyChanged方法的使用,以及就Cleanup方法释放资源展开讨论。 ICleanup 接口。实现该接口的ViewModel需要在Cleanup方法里释放资源,特别是-= even 阅读全文
posted @ 2019-06-24 16:25 DarJeely 阅读(1086) 评论(0) 推荐(1)
摘要:MvvmLight框架使用入门(三) 本篇是MvvmLight框架使用入门的第三篇。从本篇开始,所有代码将通过Windows 10的Universal App来演示。我们将创建一个Universal App并应用MvvmLight框架。 首先通过VS2015创建一个名为UniversalApp的空工 阅读全文
posted @ 2019-06-24 16:24 DarJeely 阅读(779) 评论(1) 推荐(0)
摘要:上一篇我们简单对MvvmLight做了介绍。罗列了三个DLL中,各个命名空间下主要类的定义及大致作用。因为只是范范的概论,对于从未接触过MvvmLight的萌新来说,根本就是在晃点他们。不过万事开头难么,本篇则会以Hello World般的简单例子,来给萌新们当头一击,教会他们使用MvvmLight 阅读全文
posted @ 2019-06-24 16:19 DarJeely 阅读(876) 评论(1) 推荐(0)
摘要:MvvmLight是比较流行的MVVM框架,相对较为简单易用。可能正因为简单,对应的帮助文档不多,对初学者就不够友好了。这里会用几篇随笔,就个人对MvvmLight的使用经验,来做一个入门的介绍。 第一步我们先找到并下载MvvmLight的最新版,我个人倾向使用NuGet。这里顺便吐槽一下,Mvvm 阅读全文
posted @ 2019-06-24 16:16 DarJeely 阅读(1632) 评论(0) 推荐(0)
摘要:一、引言 WPF资源系统可以用来保存一些公有对象和样式,从而实现重用这些对象和样式的作用。而WPF样式是重用元素的格式的重要手段,可以理解样式就如CSS一样,尽管我们可以在每个控件中定义格式,但是如果多个控件都应用了多个格式的时候,我们就可以把这些格式封装成格式,然后在资源中定义这个格式,之前如果用 阅读全文
posted @ 2019-06-24 14:40 DarJeely 阅读(1163) 评论(0) 推荐(0)
摘要:WPF快速入门系列(8)——MVVM快速入门 一、引言 在前面介绍了WPF一些核心的内容,其中包括WPF布局、依赖属性、路由事件、绑定、命令、资源样式和模板。然而,在WPF还衍生出了一种很好的编程框架,即WVVM,在Web端开发有MVC,在WPF客户端开发中有MVVM,其中VM就相当于MVC中C(C 阅读全文
posted @ 2019-06-24 14:39 DarJeely 阅读(696) 评论(0) 推荐(1)
摘要:QueryCommand.cs using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.In 阅读全文
posted @ 2019-06-24 14:35 DarJeely 阅读(342) 评论(0) 推荐(0)