Upload
daria
View
126
Download
0
Embed Size (px)
DESCRIPTION
DEV312 基于 WPF 的数据绑定. 最大多数的应用程序都是基于数据的程序. 三个要点. 对数据的强大支持 对数据的普遍支持 对数据的灵活支持. 对数据的强大支持. 对数据的强大支持. 单一绑定 (Singular Binding) 数据模板 (DataTemplate) 表绑定 (List Binding) 集合视图 (CollectionView). 对数据的强大支持. 单一绑定 (Singular Binding) 数据模板 (DataTemplate) 表绑定 (List Binding) - PowerPoint PPT Presentation
Citation preview
DEV312DEV312基于基于 WPFWPF 的数据绑定的数据绑定
最大多数的应用程序都最大多数的应用程序都是基于数据的程序是基于数据的程序
三个要点三个要点
对数据的强大支持对数据的强大支持对数据的普遍支持对数据的普遍支持对数据的灵活支持对数据的灵活支持
对数据的强大支持对数据的强大支持
对数据的强大支持对数据的强大支持
单一绑定 单一绑定 (Singular Binding)(Singular Binding)
数据模板 数据模板 (DataTemplate)(DataTemplate)
表绑定 表绑定 (List Binding)(List Binding)
集合视图 集合视图 (CollectionView)(CollectionView)
对数据的强大支持对数据的强大支持
单一绑定 单一绑定 (Singular Binding)(Singular Binding)
数据模板 数据模板 (DataTemplate)(DataTemplate)
表绑定 表绑定 (List Binding)(List Binding)
集合视图 集合视图 (CollectionView)(CollectionView)
单一绑定单一绑定
数据对象数据对象
属性属性
UIUI 对象对象
属性属性
绑定绑定 (Binding)(Binding)
单一绑定单一绑定
对数据的强大支持对数据的强大支持
单一绑定 单一绑定 (Singular Binding)(Singular Binding)
数据模板 数据模板 (DataTemplate)(DataTemplate)
表绑定 表绑定 (List Binding)(List Binding)
集合视图 集合视图 (CollectionView)(CollectionView)
数据模板数据模板定义数据的可视化定义数据的可视化
数据数据模板模板
public class AuctionItempublic class AuctionItem{{ string Imagestring Image {get;set;}{get;set;} int RemaingSecondsint RemaingSeconds
{get;set{get;set;};}}}
数据模板 数据模板 (DataTemplate)(DataTemplate)
GridGrid
ImageImage TextBlockTextBlockBinding Binding Path= Path= ImageImage
Binding Binding Path=RemainingTiPath=RemainingTi
meme
定义任意的元素树定义任意的元素树
Data TemplateData Template
Data ObjectData Object
DataTypeDataType
数据模板数据模板
数据模板 数据模板 (DataTemplate)(DataTemplate)
通过通过 XAMLXAML 定义定义易于修改和提供工具支持易于修改和提供工具支持
Visual Designer for WPFVisual Designer for WPF
Microsoft Expression Interactive DesignerMicrosoft Expression Interactive Designer
使用标准的使用标准的 WPFWPF 元素元素Panels, controls, Panels, controls, 等等 ..
BindingBinding 是联系数据绑定的源是联系数据绑定的源 (Source)(Source) 和对象和对象(Target)(Target) 的桥梁。的桥梁。和控件的模板使用相同的模式和控件的模板使用相同的模式
Visual Designer for WPF Visual Designer for WPF (Cider)(Cider)
Microsoft Expression Microsoft Expression Interactive Designer Interactive Designer (Sparkle)(Sparkle)
对数据的强大支持对数据的强大支持
单一绑定 单一绑定 (Singular Binding)(Singular Binding)
数据模板 数据模板 (DataTemplate)(DataTemplate)
表绑定 表绑定 (List Binding)(List Binding)
集合视图 集合视图 (CollectionView)(CollectionView)
表绑定 表绑定 (List Binding)(List Binding)
AuctionIteAuctionItem m
AuctionIteAuctionItemm
AuctionIteAuctionItemm
AuctionIteAuctionItemm
……
IEnumerableIEnumerable
……
ListBoxListBox
UI Object UI Object 11
UI Object UI Object 22
UI Object UI Object 33
UI Object UI Object 44
ListListBindingBinding
表绑定表绑定
对数据的强大支持对数据的强大支持
单一绑定 单一绑定 (Singular Binding)(Singular Binding)
数据模板 数据模板 (DataTemplate)(DataTemplate)
表绑定 表绑定 (List Binding)(List Binding)
集合视图 集合视图 (CollectionView)(CollectionView)
集合视图 集合视图 (Collection View)(Collection View)
当前项 当前项 (Current Item)(Current Item)
分组 分组 (Group)(Group)
排序 排序 (Sort)(Sort)
过滤 过滤 (Filter)(Filter)
集合视图集合视图
对数据的普遍支持对数据的普遍支持
对数据的普遍支持对数据的普遍支持
DependencyObject (DO)DependencyObject (DO)
DependencyProperty (DP)DependencyProperty (DP)
DependencyObjectDependencyObject
WPFWPF 中所有控件的基类中所有控件的基类还是很多有用的类的基类还是很多有用的类的基类
Transforms (rotate, skew, scale)Transforms (rotate, skew, scale)
Triggers (Event, Data)Triggers (Event, Data)
BrushesBrushes
等等等等提供一组核心的服务提供一组核心的服务
CLRCLR 的属性的属性 (Property)(Property)
public decimal Valuepublic decimal Value{{
get { get { return _value;return _value; } }set { set { _value = value;_value = value; } }
}}
private decimal _value;private decimal _value;
Dependency PropertyDependency Property
public decimal Valuepublic decimal Value{{
get { return (decimal)GetValue(ValueProperty); }get { return (decimal)GetValue(ValueProperty); }set { SetValue(ValueProperty, value); }set { SetValue(ValueProperty, value); }
}}
public static readonly DependencyProperty ValueProperty =public static readonly DependencyProperty ValueProperty =DependencyProperty.Register("Value",DependencyProperty.Register("Value",
typeof(decimal),typeof(decimal),typeof(NumericUpDown),typeof(NumericUpDown),
new PropertyMetadata((decimal)0)new PropertyMetadata((decimal)0)));;
DO/DPDO/DP 提供的服务提供的服务
基本服务 基本服务 (Base Services)(Base Services)存储空间 存储空间 (Storage)(Storage)
缺省值 缺省值 (Default Value)(Default Value)
附加属性 附加属性 (Attached Properties)(Attached Properties)Canvas.Left, Grid.Column, DockPanel.DockCanvas.Left, Grid.Column, DockPanel.Dock
验证 验证 (Validation)(Validation)
值改变通知 值改变通知 (Change Notifications)(Change Notifications)
强制转化 强制转化 (Coercion)(Coercion)
数据绑定 数据绑定 (Binding)(Binding)
框架增加 框架增加 (Framework Adds)(Framework Adds)动画动画 (Animation), (Animation), 继承继承 (Inheritance), (Inheritance), 样式样式(Styling )(Styling )
处处“数据绑定”处处“数据绑定”
对数据的灵活支持对数据的灵活支持
WPFWPF 支持的数据模型支持的数据模型
IBindingList (DataTable, BindingList<T>)IBindingList (DataTable, BindingList<T>)
ICustomTypeDescriptor (DataRowView)ICustomTypeDescriptor (DataRowView)
INotifyPropertyChangedINotifyPropertyChanged
[Property]Changed event[Property]Changed event
任意的任意的 to/fromto/from 转换转换One-to-Many BindingOne-to-Many Binding
异质的异质的 (Heterogeneous)(Heterogeneous) 数据类型数据类型有层次的有层次的 (Hierarchical)(Hierarchical) 数据类型数据类型
有层次的有层次的 (Hierarchical)(Hierarchical) 数据数据绑定绑定
XMLXML 绑定绑定
WPFWPF 提供对提供对 XMLXML 绑定的本地支持绑定的本地支持XMLDataProviderXMLDataProvider 允许对本地和远程数据的连接允许对本地和远程数据的连接PathPath 模式是模式是 XPathXPath
XMLXML 绑定绑定
回顾三个要点回顾三个要点
对数据的强大支持对数据的强大支持对数据的普遍支持对数据的普遍支持对数据的灵活支持对数据的灵活支持