WPF快速指导3:数据绑定 本文摘要:1:实体类的绑定;2:实体类集合的绑定及DataTemplate;3:自定义的实体类集合,如ObservableDictionary; 4:Path的语法;1:实体类的绑定 理解WPF数据绑定,首先需要理解接口INotifyCollectionChanged。 场景1:UI显示学生信息,当学生姓名发生改变的时...
WPF快速指导2:模板 本文摘要: 1:模板作用; 2:样式模板; 3:数据模板; 4:如何使用ControlTemplate; 5:如何使用DataTemplate; 一:模板作用 1:样式模板,在应用程序内部维护和共享外观; 2:数据模板,实现表现形式和逻辑的分离;二:样式模板 ...
WPF快速指导1:资源 本文摘要: 1:资源应用场景; 2:静态资源和动态资源; 3:Application.Current.Resources和Application.Current.Resources.MergedDictionaries 4:路径一:资源的应用场景场景1:格式化界面显示元素 所谓格式化界面显示元素,就是使用统一的风格来...
WPF笔记3:数据绑定 本文摘要: 1:实体类的绑定; 2:实体类集合的绑定; 3:自定义的实体类集合,如ObservableDictionary; 1:实体类的绑定 理解WPF数据绑定,首先需要理解接口INotifyCollectionChanged。 场景1:UI显示学生信息,当学生姓名发生改变的时候,就需要实时地表现到UI上。在这种情况下,就需要Stud...
异常有两类,一类是主线程异常,另一类是工作线程异常。一:主线程的未捕获异常处理起来比较简单1:首先在APP.XAML中定义一个DispatcherUnhandledException事件,如...
最近有一个隐藏的BUG,是因为使用匿名函数导致的。 要重现该BUG,可以先查看如下两个程序。 第一个: class Program { static voidMain(string[] args) { for (int i = 0; i < 10;i++) { ...
以下论述只适用于WPF和WCF场合。 在进行WCF通信的时候,有时候会出现“由于其他线程拥有此对象,因此调用线程无法对其进行访问”。如下面的这段代码就可能会出现这个错误: EndpointAddress tcpAddress = new EndpointAddress(newUri(_wcfServiceUri), identity, headers); _duplexChannelF...
最近在用WCF做全双工通信,由于某一天晚上比较累了,所以未遵循少量重构的原则,重构了几大段自己认为没有问题的代码,并且,重构完毕仅编译通过,未进行测试。结果代码到了第二天运行的时候出现了问题: “ 发送到net.tcp://192.168.0.96:9999/HelloWCFService的请求操作在配置的超时(00:00:04.9979999)内未收到回复。分配给该操作的时间可能是更长超时的一部分。这可能由于服务仍在处理操作或服务无法发送回复消息。请考虑增加操作超时(将通道/代理转换为...
在当前的.NETFRAMEWORK中是没有实现了INotifyCollectionChanged和INotifyPropertyChanged的字典集合的,这直接导致了WPF或者SILVERLIGHT中的LISTVIEW等控件不能动态显示集合中的更新。故,我们需要自己实现一个ObservableDictionary。 代码下载地址:http://download.csdn.net/source/2110250。 同时,给出如下的代...
典型应用场景:WPF页面程序中,ListView的ItemsSource是一个ObservableCollection;操作:另起一个线程,为ListView动态更新数据,也就是给ObservableCollection添加记录。这类操作,就是跨线程访问线程安全的数据,如果不使用Dispatcher,就会导致出错“该类型的CollectionView不支持从调度程序线程以外的线程对其SourceCollection”。...
Dictionary需要指定的Value是一个Object,如Student类。ListView需要支持右键菜单。每个条目要有Checkbox表示是否选中。 给出前台代码:<Page x:Class="CET.ExamViewer.PageControl"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http:/...
I've been listing a relatively large number of items ina ListView (8000+) and it is great in terms of performance, fills inless than a second.I've tried the same with a ListBox and it takes a lotmore time. Even if I set the ItemsPanelT...
刚接触WPF,有两个概念不是很懂,现理解如下: 1:window和page谁包含谁的问题 一新建WPF应用程序,发现默认启动界面是一个window,将默认启动改为page,没有错误。但是如果在page中执行如下程序报错: this.content = new Window1(); 错误信息是:window是在属性结构的根目录。那么,我们可以理解为,window包含page,而不是反之。 2:登录界面(窗口跳转)...