02 2012 档案
摘要:WPF提供了一系列预定义组件以供UI开发人员使用。但软件开发人员仍常常需要自行编写满足特定要求的控件。本文就将以Spinner控件为例,讲解如何以派生方式完成自定义控件的编写。一.动手前的思考 在着手开始编写控件之前,我们需要思考Spinner需要以怎样一种方式实现?MSDN建议使用三种控件实现方式:从UserControl类派生,从Control类派生以及从FrameworkElement类派生。 要正确地从这三种方式中作出选择,软件开发人员首先需要了解这些实现方法的特点。从UserControl类派生和WPF应用程序开发模型非常类似:控件仅仅由现有控件组成,并通过XAML描述。其支...
阅读全文
摘要:在WPF中,DataSourceProvider是一个较为特别的类型。其提供了对复杂数据获取逻辑的支持。例如该类的派生类XmlDataProvider提供了对XML数据进行分析的支持,而ObjectDataProvider则允许软件开发人员调用创建数据实例的函数。 也正是由于这些类型的使用较为生僻,因此许多软件开发人员并不能很好地使用它们。实际上,DataSourceProvider是一个非常强大的数据源框架,允许您通过继承的方式为不同的数据源,如SQL Server,提供绑定支持。 在下面的介绍中,本文主要分析DataSourceProvider作为数据源框架所提供的功能以及如何在各...
阅读全文
摘要:在使用WPF进行编程的过程中,我们常常需要使用XAML的标记扩展:{Binding},{x:Null}等等。那么为什么WPF提供了XAML标记扩展这一功能,我们又如何创建自定义的标记扩展呢。这就是本文将要讨论的内容。一.从标记扩展的分析说起 在WPF中,软件开发人员需要以类似于XML的格式编写XAML。如下面代码所示:1 <Window …>2 <StackPanel …>3 <TextBlock …/>4 </StackPanel>5 </Window> 但是在实际开发过程中,我们却常常需要使用标记扩展,如对绑定的使用:1 <
阅读全文