Loading

摘要: 用过mvvm设计WFP程序的人都知道,在我们mvvm中有一个非常重要的接口叫做 INotifyPropertyChanged 这个接口的主要作用是用于触发属性更改时向我们xaml中绑定此属性值的控件发起通知,从而页面响应我们的数据变化。 那么页面绑定的集合发生变化,我如何响应给页面呢? 这时候我们的 阅读全文
posted @ 2020-06-06 13:59 BruceNeter 阅读(2126) 评论(0) 推荐(0) 编辑
摘要: 界面如下 1.搜索中 2.搜索成功 源码地址:https://github.com/BruceQiu1996/BaiduDiskSearcher 希望有用的学到的或者对此感兴趣的可以给一个star,谢谢 由于时间有限,该wpf项目并未使用mvvm模式. 阅读全文
posted @ 2020-03-24 22:05 BruceNeter 阅读(984) 评论(2) 推荐(0) 编辑
摘要: 话不多说先上图 爬取10页大概500个帖子大概10s,500页2w多个帖子大概2min,由此可见性能并不是特别好,但是也没有很差。 好了话不多说,我们来一步一步实现这么个简易的客户端。 1.创建项目 创建一个WPF空项目,导入需要的Devexpress的dll Devexpress可以到官网下载,基 阅读全文
posted @ 2019-12-10 01:00 BruceNeter 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 之前的博文也说到了如果多线程对于访问的公共资源操作都是原子操作,那么可以避免竞争条件。关于多线程的竞争可以百度。 1.执行最基本的原子操作 c#提供了一系列供我们使用的原子操作的方法和类型,比如我们的自增和自减操作。 看代码 class Program { private static int _c 阅读全文
posted @ 2019-12-06 10:41 BruceNeter 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 1.使用数据模板对TreeViewItem进行更改 2.xaml中重写TreeviewItem的控件模板 3.继承TreeViewItem(TreeView中的元素),后台进行控件重写。(介绍此方法) 代码: ImageSource iconSource;//图标对象 TextBlock textB 阅读全文
posted @ 2019-12-04 00:43 BruceNeter 阅读(4134) 评论(0) 推荐(0) 编辑
摘要: 多线程的存在是提高系统效率,挖掘cpu性能的一种手段,那么控制它,能够协同多个线程不发生bug是关键。 首先我们来看一段不安全的多线程代码。 public abstract class CalculateBase { public int count = 0; public object _lock 阅读全文
posted @ 2019-12-04 00:29 BruceNeter 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 话不多说先上图 点击下一步 跳转到第二页 项目准备: 1.DevExpress 19/18/17(三个版本都可以) 2.Vs2019 3..Net framework>4.0 项目结构: 项目步骤: 1.导入项目所需的DLL 每个DLL的含义和作用可以去官网或者客户端工具查看 2.构建主界面 Dev 阅读全文
posted @ 2019-11-27 18:40 BruceNeter 阅读(1290) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,显示创建的线程都是前台线程,进程会等待内部所有的前台线程执行完才会结束退出 1.默认创建的线程都是前台线程 2.进程会等待所有的前台线程执行完而结束,如果还存在后台线程则会强行中断并且退出。 3.如果关闭程序,但是还存在前台线程没有结束,则程序并不会被完全关闭,任务管理器中还是可以看到进 阅读全文
posted @ 2019-11-27 00:50 BruceNeter 阅读(717) 评论(0) 推荐(0) 编辑
摘要: C#中Thread的优先级不是决定每个线程被执行顺序。它决定了线程可以占用CPU的时间 Thread的优先级设置是自带的枚举类型"ThreadPriority" [ComVisible(true)] public enum ThreadPriority { // // 摘要: // System.T 阅读全文
posted @ 2019-11-26 01:16 BruceNeter 阅读(830) 评论(0) 推荐(0) 编辑
摘要: Thread.Abort 方法在c#中用作强制中断线程的执行,大多用于线程内部满足某个特定条件而自己调用关闭自身,比如下面的代码在i自增到3的时候就会停止打印。 class Program { static void Main(string[] args) { Thread thread = new 阅读全文
posted @ 2019-11-22 02:02 BruceNeter 阅读(998) 评论(0) 推荐(0) 编辑