WPF and Silverlight学习笔记(二十四):数据源提供器(DataProvider)

在WPF中系统提供了两个数据源提供器(DataProvider):对象数据源提供器 (ObjectDataProvider)和XML数据源提供器(XmlDataProvider)。其作用类似 于ASP.Net数据源(DataSource)中的对象数据源(ObjectDataSource)和Xml数 据源(XmlDataSource)。其继承结构如下:

ObjectDataProvider用于处理由方法返回值所产生的数据源,其应用 非常广泛,通常多层应用程序通常在界面上使用ObjectDataProvider处理由组件 层所产生的数据。在本节中我们主要处理ObjectDataProvider,对于 XmlDataProvider感兴趣的朋友可以参考MSDN。

一、组件端定义

例如:定义一个类库项目,在其中定义一个ProductInfo类、CategoryInfo类, 用来封装Northwind数据库中的Products表及Categories表中的数据。定义 NorthwindDataSet,包含Product、Category两个DataTable。定义DataControl 类,处理对Northwind数据库的操作,返回相应的封装后的类型或集合作为界面 显示的数据源。

1、ProductInfo类和CategoryInfo类

1:  namespace WPF_24_Library
2: {
3:   ///  <summary>
4:   /// 封装产品表的信息
5:   ///  </summary>
6:   public class ProductInfo
7:    {
8:     public int ProductID
9:     {
10:        set; get;
11:     }
12:     public  string ProductName
13:     {
14:       set;  get;
15:     }
16:     public decimal  UnitPrice
17:     {
18:       set; get;
19:     }
20:     public int CategoryID
21:      {
22:       set; get;
23:     }
24:   }
25: }

1: using  System.Collections.Generic;
2:
3: namespace  WPF_24_Library
4: {
5:   /// <summary>
6:    /// 封装类别表的信息
7:   /// </summary>
8:    public class CategoryInfo
9:   {
10:      public CategoryInfo()
11:     {
12:        Products = new List<ProductInfo>();
13:     }
14:
15:     public int CategoryID
16:     {
17:       set; get;
18:     }
19:      public string CategoryName
20:     {
21:        set; get;
22:     }
23:
24:     ///  <summary>
25:     /// 封装该类别的所有产品
26:      /// </summary>
27:     public  List<ProductInfo> Products
28:     {
29:        private set; get;
30:     }
31:   }
32:  }

时间: 2024-12-10 15:18:26

WPF and Silverlight学习笔记(二十四):数据源提供器(DataProvider)的相关文章

WPF and Silverlight学习笔记(十四):键盘输入、鼠标输入、焦点处理

一.键盘类和键盘事件 WPF提供了基础的键盘类 (System.Input.Keyboard类),该类提供与键盘相关的事件.方法和属性,这 些事件.方法和属性提供有关键盘状态的信息.Keyboard的事件也通过 UIElement等XAML基元素类的事件向外提供. 对于键盘操作,其常用的事 件有两组: KeyDown事件和PreviewKeyDown事件:处理键盘键按下 KeyUp事件和PreviewKeyUp事件:处理键盘键抬起 其中KeyDown和 KeyUp事件属于冒泡路由事件,而Prev

WPF and Silverlight学习笔记(十二)

WPF and Silverlight学习笔记(十二):WPF Panel内容模型.Decorator内容模型及其他 一.Panel内容模型 Panel内容模型指从 System.Windows.Controls.Panel继承的控件,这些控件都是容器,可以在内部 承载其他的控件和子容器.Panel内容模型包含的容器有: Canvas DockPanel Grid TabPanel ToolBarO verflowPanel UniformGrid StackPanel ToolBarPanel

WPF and Silverlight学习笔记(十六):WPF资源(Resource)(1)

一.什么是资源 通常使用 WPF 资源作为重用通常定义的对象和值的 简单方法.例如定义一种可以复用的单色的Brush对象,按钮的背景及矩形的填 充颜色均使用此Brush: 1: <Window x:Class="WPFResource.WinBasicResource" 2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation& quot; 3: xmlns:x="http:

WPF and Silverlight学习笔记(十五):WPF命令(Commands)

WPF中的命令路由与事件路由是两个很让初学者头痛的概念,对于命令路由可 以理解为,系统(WPF)定义了一系列的操作,在应用程序中可以直接使用.例 如,定义一系列菜单,执行对窗体中文本框的复制.剪切.粘贴操作,简单地可 以这样做: 1: <Grid> 2: <Grid.RowDefinitions> 3: <RowDefinition Height="23" /> 4: <RowDefinition /> 5: </Grid.RowD

WPF and Silverlight学习笔记(十八):WPF样式(Style)与模板(Template)

一.WPF样式 类似于Web应用程序中的CSS,在WPF中可以为控件定义统 一的样式(Style).样式属于资源的一种,例如为Button定义统一的背景颜色 和字体: 1: <Window.Resources> 2: <Style 3: TargetType="Button"> 4: <Setter Property="Background" Value="Yellow" /> 5: <Setter Pr

WPF and Silverlight学习笔记(十):WPF控件模型

WPF对控件其类型的继承方式如下 (其中绿色表示的类是抽象类,蓝色表示的类是非抽象类) 控 件内容模型 System.Windows.Controls.Control类:表示 用户界面 (UI) 元素的基类,这些元素使用ControlTemplate来定义其外观 ContentControl:ContentControl 是一种包含一段内容的 Control 说明 ContentControl 是一种包含一段内容的 Control. 内容属性 Content 内容模型信息 控件内容模型概述 属于

javascript构造函数: JavaScript学习笔记(二十四) 模块创建构造函

 模块创建构造函数(Modules That Create Constructors)在前面的例子中,创建了一个MYAPP.utilities.array对象,但有时候使用构造函数创建你的对象更方便,你也可以使用模块模式实现它.唯一的不同就是在包裹模块的立即执行函数返回一个函数而不是对象.下面这个例子就是模块模式创建一个构造函数 MYAPP.utilities.ArrayMYAPP.namespace('MYAPP.utilities.Array');MYAPP.utilities.Array

WPF and Silverlight学习笔记(十九):WPF更换主题

如果要做到一个应用程序其基本的内容不变,但改变整个应用程序的外观可 以这样做: 对于每一套外观定义一个ResourceDictionary 在应用 程序中,动态加载此应用程序(或窗体)的Resource 例如,如下的应用 程序,在选择不同的用户时,显示不同的Canvas背景及图片: 主题样式A : 主题样式B: 主题样式C:

WPF and Silverlight学习笔记(二十五)

WPF and Silverlight学习笔记(二十五):使用CollectionView实现对绑定数据的排序.筛选.分组 在第二十三节,我们使用CollectionView实现了对于绑定数据的导航,除导 航功能外,还可以通过CollectionView对数据进行类似于DataView的排序.筛选 等功能. 一.数据的排序: 使用第二十四节的数据源,查询所有 的产品信息: 1: <Window x:Class="WPF_24.CollectionViewSortData" 2:

WPF and Silverlight学习笔记(七)

WPF and Silverlight学习笔记(七):WPF布局管理之StackPanel.WrapPanel.DockPanel 一.StackPanel StackPanel是以堆叠的方式显示其中的控件 1 .可以使用Orientation属性更改堆叠的顺序 Orientation="Vertical" 默认,由上到下显示各控件 .控件在未定义的前提下,宽度为StackPanel的宽度,高度自动适应控件中内容 的高度 1: <StackPanel Orientation=&q