04 2012 档案

摘要:记得在刚刚接触WPF时,我对它所提供的一个特性印象尤为深刻:在程序运行大规模计算时,程序的界面将不会停止绘制,并能够在需要进行界面的刷新时进行正确的绘制。那么,这种绘制特性是否能在WPF执行大规模计算时对用户的输入进行响应呢?让我们来做个试验吧。 打开示例工程并运行,您会看到控制窗口(Control Window)。点击Sychronous work所对应的开始键,以开始执行以下代码:1 public void StartSynchronousWork(object sender, RoutedEventArgs e)2 {3 int counter = 0;4 whil... 阅读全文
posted @ 2012-04-30 23:05 loveis715 阅读(12681) 评论(8) 推荐(8) 编辑
摘要:在原来的公司中,编写自定义控件是常常遇到的任务。但这些控件常常拥有一个不怎么好的特点:无论是内部还是外部都没有使用路由事件。那我们应该怎样宰自定义控件开发中使用路由事件?我们将在这篇短文中对该问题进行讨论。路由事件简介 谈到路由事件,我想首先我们就需要问自己一个问题。在.net已经支持事件的情况下,为什么WPF还额外提供了对路由事件的支持?这是因为在WPF开发模型下,原始的CLR事件已经不能满足开发的要求,从而导致对事件的处理异常繁琐: 首先就是控件的封装。WPF中,我们可以将一个控件作为另一个控件的子控件,从而呈现丰富的效果。例如我们可以在一个Button中包含一个图像。在这种情况下... 阅读全文
posted @ 2012-04-10 23:15 loveis715 阅读(26909) 评论(6) 推荐(9) 编辑
摘要:在为WPF控件定义模板时,如果我们为一个元素指定了一个名称,那么我们就可以在模板的定义中通过该名称引用该元素了。但是为何我们不能用这种方法引用在同一个XAML中定义的其它界面元素呢?对于这个问题,您需要了解WPF所提供的名称管理机制。XAML中的NameScope 首先来讲讲WPF的名称管理机制NameScope,也即是名称范围。名称范围主要提供了两种功能:记录XAML名称与界面元素实例之间的关联关系;防止名称冲突。可以说,第二种功能是第一种功能实现时所产生的副作用。而在XAML中引用某个名称时,WPF会自动使用相应的NameScope执行对名称的查找。 那么,WPF的名称范围是如何在... 阅读全文
posted @ 2012-04-09 23:47 loveis715 阅读(4305) 评论(0) 推荐(1) 编辑

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