摘要:
async/await Task Timeout 在日常的电脑使用过程中,估计最难以忍受的就是软件界面 “卡住”“无响应” ,在我有限的开发生涯中一直都是在挑战 它。在WPF中,主线程即UI线程,当我们在UI线程中执行一个很耗时的操作,以至于UI线程没能继续绘制窗体,这时给人 的感觉就是“卡住”了。 阅读全文
摘要:
.Net JIT(转) "JIT" 阅读全文
摘要:
WPF MVVM(Caliburn.Micro) 数据验证 "书接前文" 前文中仅是WPF验证中的一种,我们暂且称之为View端的验证(因为其验证规是写在Xaml文件中的)。 还有一种我们称之为Model端验证,Model通过继承IDataErrorInfo接口来实现,这个还没研究透,后面补上。 " 阅读全文
摘要:
.Net 闭包理解 这个东西初看是比较难懂,但是一旦理解之后就很容易了,做笔记以加深印象。且看这题 example.1 class Program { static void Main(string[] args) { var actions = new List(); for (int i = 0 阅读全文
摘要:
C 迪杰斯特拉算法 网上有许多版本的,自己还是写一个理解点Dijkstra.cs public class Dijkstra { private List<Node _nodes; private List<Edge _edges; public Dijkstra() { ... 阅读全文
摘要:
## EventToCommand在WPF中,并不是所有控件都有Command,例如TextBox,那么当文本改变,我们需要处理一些逻辑,这些逻辑在ViewModel中,没有Command如何绑定呢?这个时候我们就用到EventToCommand,事件转命令,可以将一些事件例如TextChanged... 阅读全文
摘要:
## DispatcherHelper通常,WPF 应用程序从两个线程开始:一个用于处理呈现,一个用于管理 UI。呈现线程有效地隐藏在后台运行,而 UI 线程则接收输入、处理事件、绘制屏幕以及运行应用程序代码。所以我们的大多数操作都会在UI线程中执行,同时它也处理绘制屏幕,如果我们的一个操作相当耗时... 阅读全文
摘要:
## ViewModelLocator这里先鼓舞下士气,ViewModelLocator很简单,甚至可以去掉,它不是Mvvm必须的。在初学Mvvm时,一般都是使用NuGet安装MvvmLight框架,总是会带上那么一个ViewModelLocator,并且还加入到了全局资源中,到底是干吗的? ... 阅读全文
摘要:
## MessengerMvvm提倡View和ViewModel的分离,View只负责数据的显示,业务逻辑都尽可能放到ViewModel中,保持View.xaml.cs中的简洁(没有任何代码,除了构造函数),但是某些场景下也不必一定要保持View.xaml.cs中的简洁,例如动画。我们想要让界面酷炫... 阅读全文
摘要:
### Mvvm简介当我们在开发WPF,SilverLight,WP程序时,会使用Mvvm这一架构模式。它是一个很笼统的架构模式概念。在.Net下,我所知道的Mvvm框架有* [MvvmLight](http://www.mvvmlight.net/)* [Caliiburn.Micro](http... 阅读全文