
WPF
文章平均质量分 83
码农星球撸码J
健身 软件开发 讲师 作者 WRITING BAD
展开
-
ListView vs ListBox performance in WPF
Ive been listing a relatively large number of items in a ListView (8000+) and it is great in terms of performance, fills in less than a second.Ive tried the same with a ListBox and it takes a lot mo原创 2010-02-26 11:32:00 · 3260 阅读 · 2 评论 -
WPF快速指导2:模板
<br /><br />WPF快速指导2:模板<br /> 本文摘要:<br /> 1:模板作用;<br /> 2:样式模板;<br /> 3:数据模板;<br /> 4:如何使用ControlTemplate;<br /> 5:如何使用DataTemplate;<br /> <br />一:模板作用<br /> 1:样式模板,在应用程序内部维护和共享外观;<br /> 2:数据模板,实现表现形式和逻辑的分离;<br /><br />二:样式模板<br />原创 2011-01-23 10:35:00 · 1195 阅读 · 0 评论 -
WPF快速指导1:资源
<br />WPF快速指导1:资源<br /> 本文摘要:<br /> 1:资源应用场景;<br /> 2:静态资源和动态资源;<br /> 3:Application.Current.Resources和Application.Current.Resources.MergedDictionaries <br /> 4:路径<br /><br />一:资源的应用场景<br /><br />场景1:格式化界面显示元素<br /> 所谓格式化界面显示元素,就是使用统一的风格来原创 2011-01-03 09:32:00 · 2124 阅读 · 1 评论 -
WPF笔记3:数据绑定
WPF笔记3:数据绑定 本文摘要: 1:实体类的绑定; 2:实体类集合的绑定; 3:自定义的实体类集合,如ObservableDictionary; 1:实体类的绑定 理解WPF数据绑定,首先需要理解接口INotifyCollectionChanged。 场景1:UI显示学生信息,当学生姓名发生改变的时候,就需要实时地表现到UI上。在这种情况下,就需要Stud原创 2010-08-07 15:38:00 · 2991 阅读 · 1 评论 -
WPF中未捕获异常之处理
异常有两类,一类是主线程异常,另一类是工作线程异常。 一:主线程的未捕获异常处理起来比较简单1:首先在APP.XAML中定义一个DispatcherUnhandledException事件,如<Application x:Class="CET.ExamViewer.App" xmlns="http://schemas.microsoft.com/winfx/2006/原创 2010-03-19 11:00:00 · 7902 阅读 · 7 评论 -
多线程BUG捕捉之:由于其他线程拥有此对象,因此调用线程无法对其进行访问
以下论述只适用于WPF和WCF场合。 在进行WCF通信的时候,有时候会出现“由于其他线程拥有此对象,因此调用线程无法对其进行访问”。如下面的这段代码就可能会出现这个错误: EndpointAddress tcpAddress = new EndpointAddress(new Uri(_wcfServiceUri), identity, headers)原创 2010-03-16 18:09:00 · 5185 阅读 · 1 评论 -
多线程BUG捕捉之:匿名函数带来的问题
最近有一个隐藏的BUG,是因为使用匿名函数导致的。 要重现该BUG,可以先查看如下两个程序。 第一个: class Program { static void Main(string[] args) { for (int i = 0; i { D原创 2010-03-16 18:15:00 · 2170 阅读 · 1 评论 -
多线程BUG捕捉之:非网络原因导致的WCF连接超时
最近在用WPF、WCF做全双工通信,由于某一天晚上比较累了,所以未遵循少量重构的原则,重构了几大段自己认为没有问题的代码,并且,重构完毕仅编译通过,未进行测试。结果代码到了第二天运行的时候出现了问题: 发送到 net.tcp://192.168.0.96:9999/HelloWCFService 的请求操作在配置的超时(00:00:04.9979999)内未收到回复。分配原创 2010-03-16 07:32:00 · 5052 阅读 · 1 评论 -
在C#中实现ObservableDictionary
在当前的.NET FRAMEWORK中是没有实现了INotifyCollectionChanged和INotifyPropertyChanged的字典集合的,这直接导致了WPF或者SILVERLIGHT中的LISTVIEW等控件不能动态显示集合中的更新。故,我们需要自己实现一个ObservableDictionary。 代码下载地址:http://download.原创 2010-03-09 15:59:00 · 4268 阅读 · 0 评论 -
WPF跨线程访问线程安全的数据(如解决:该类型的CollectionView不支持从调度程序线程以外的线程对其SourceCollection)
典型应用场景:WPF页面程序中,ListView的ItemsSource是一个ObservableCollection;操作:另起一个线程,为ListView动态更新数据,也就是给ObservableCollection添加记录。这类操作,就是跨线程访问线程安全的数据,如果不使用Dispatcher,就会导致出错“该类型的CollectionView不支持从调度程序线程以外的线程对其Sourc原创 2010-03-07 13:05:00 · 21210 阅读 · 10 评论 -
WPF中ListView绑定Dictionary,顺带提右键菜单和checkbox
Dictionary需要指定的Value是一个Object,如Student类。ListView需要支持右键菜单。每个条目要有Checkbox表示是否选中。 给出前台代码:<Page x:Class="CET.ExamViewer.PageControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres原创 2010-03-04 11:24:00 · 8170 阅读 · 0 评论 -
WPF窗口跳转及window和page区别
刚接触WPF,有两个概念不是很懂,现理解如下: 1:window和page谁包含谁的问题 一新建WPF应用程序,发现默认启动界面是一个window,将默认启动改为page,没有错误。但是如果在page中执行如下程序报错: this.content = new Window1(); 错误信息是:wind原创 2010-02-25 11:49:00 · 51641 阅读 · 5 评论 -
WPF快速指导3:数据绑定
<br /><br />WPF快速指导3:数据绑定 <br />本文摘要:<br />1:实体类的绑定;<br />2:实体类集合的绑定及DataTemplate;<br />3:自定义的实体类集合,如ObservableDictionary; <br />4:Path的语法;<br /><br />1:实体类的绑定<br /> 理解WPF数据绑定,首先需要理解接口INotifyCollectionChanged。<br /> 场景1:UI显示学生信息,当学生姓名发生改变的时原创 2011-01-23 10:37:00 · 2221 阅读 · 0 评论