随笔 - 576  文章 - 0  评论 - 62  阅读 - 219万
10 2012 档案
OnClick方法与Click事件
摘要:点击一下Button,实际上是先执行OnClick方法,但是问什么,同时还出发了Click事件呢?这是因为,OnClick方法内部触发了Click事件。 阅读全文
posted @ 2012-10-27 11:12 Andy Niu 阅读(1586) 评论(0) 推荐(0) 编辑
ref 与out
摘要:解决问题:在调用方法的时候,值类型是整体拷贝,引用类型是复制引用,因此在被调用方法中,修改引用对象的内容,在调用方法中会体现修改的结果。但是如果在被调用方法中,修改引用使其指向另一个对象,在调用方法中不会体现出修改的结果。ref与out就是解决这个问题的。使用场景:ref 调用方法的时候,参数必须初始化;out在被调用方法中,参数被清空,指向Null 阅读全文
posted @ 2012-10-27 11:07 Andy Niu 阅读(190) 评论(0) 推荐(0) 编辑
依赖属性 DependencyProperty
摘要:解决的问题:一个控件可能有几百个CLR属性,如果每个CLR属性都是包装一个字段,那么这个控件耗费的内存太大了。依赖属性就是解决这个问题的。如何解决这个问题:使控件的CLR属性不是包装字段,而是包装一个DependencyProperty,并且这个DependencyProperty的内存不是分配在控件内,而是采用某种机制分配在外部,以key-value的形式存在。另外,DependencyProperty还解决了一个问题,当DependencyProperty作为绑定源的时候,还能自动更新绑定目标的显示。依赖属性的理解:1、依赖属性就是可以自己没有值,通过binding 从数据源获得值的属性, 阅读全文
posted @ 2012-10-27 10:50 Andy Niu 阅读(1711) 评论(0) 推荐(0) 编辑
静态成员与实例成员
摘要:1、从语义上讲,静态成员对类有意义,类和所有实例共享。实例成员对实例有意义,每个实例都有专属于自己的。如何理解?举例来说,Person类的Age应该是实例成员,每个Person实例都有自己的Age,而MaxAge(年龄的最大极限,比如说200岁),应该是静态成员,因为MaxAge对于人类(包括所有人)有意义,也就是说,所有人的年龄最大极限都是200岁。2、从内存分配上看,成员分为字段和方法(C#当中的属性是一种特殊的方法,其本质上也是方法),对于静态字段,在内存中只有一份拷贝,类与所有实例共享。对于实例字段,每个实例都有一个拷贝。而对于方法,不论是静态方法还是实例方法,在内存中都只有一个拷贝, 阅读全文
posted @ 2012-10-27 10:34 Andy Niu 阅读(292) 评论(0) 推荐(0) 编辑
数据可视化
摘要:所有软件的本质都是增删改查和数据可视化。要解决的问题:数据可视化,UI显示数据,数据与UI一致,数据变化,对应的UI更新。举例来说,使用Label显示Person的Name,Label的Content与Person的Name一致,Person的Name发生变化,Label的Content也随之变化。最笨的方法是,每次修改Person的Name的时候,同时去修改Label的Content。那么问题就来了,有没有简单的办法,把Label的Content与Person的Name绑定起来,每次修改Person的Name,通过一种机制自动更新Label的Content,这既是要解决的问题。如何解决问题: 阅读全文
posted @ 2012-10-20 10:22 Andy Niu 阅读(301) 评论(0) 推荐(0) 编辑
理解 WPF Dispatcher
摘要:解决的问题:一个应用程序是一个进程,一个进程包含几个线程,其中有一个是主线程,其余的是工作线程。在WPF应用程序中,主线程负责接收输入、处理事件、绘制屏幕等工作,为了使主线程及时响应,用户创建一些工作线程,工作线程做一些耗费时间和资源的事情,比如解码和接受网络数据。这里存在一个问题,由于UI元素是主线程创建的,工作线程不能更新主线程维护的UI元素的显示。DIspatcher就是解决这个问题的。如何解决问题:通过调用主线程的Dispatcher,执行Invoke (同步)或者BeginInvoke方(异步)方法,比如public delegate void NextPrimeDelegate() 阅读全文
posted @ 2012-10-18 20:48 Andy Niu 阅读(3911) 评论(0) 推荐(1) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示