WPF数据绑定
2015-09-24 09:30
357 查看
数据绑定
DependencyObject 和 绑定源属性的绑定:UpdateSourceTrigger 枚举值:
PropertyChanged : 目标属性发生改变时候立即更新源
LostFocus : 目标属性发生变化并且失去焦点
Explicit:调用BindingExpressiong.UpdateSource(),否则无法更新
Default:根据目标属性的元数据确定更新行为
OneWay和OneTime
OneWay : 数据源改变自动影响目标依赖属性,数据源不再改变。
OneTime : 第一次改变数据源会改变目标依赖属性,以后改变对目标依赖属性没有影响。
数据验证
数据验证一般有四种方式如图:响应验证错误
System.Windows.Controls.Validation的附加属性记录验证错误,当验证不成功时:Validation.HasError为True.
创建ValidationError对象,作为ValidationRule.Validate()的返回值.添加到 Validation.Errors集合中
Validation.Error被引发(前提:Binding.NotifyOnValidationError=True).
1. 错误列表显示错误信息
捕获窗体所有未处理的异常:遍历元素树(LogicalTreeHelper.GetChildren(obj)),如果Validation.HasError(element),则获取所有错误Validation.GetErrors(element).2. 自定义错误模板
提高用户体验可以自定义:Validation.ErrorTemplate.<DataGrid.RowValidationErrorTemplate> <ControlTemplate> <Grid ToolTip="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}}, Path=(Validation.Errors)[0].ErrorContent}"> <Ellipse StrokeThickness="0" Fill="Red" Width="{TemplateBinding FontSize}" Height="{TemplateBinding FontSize}" /> <TextBlock Text="!" FontSize="{TemplateBinding FontSize}" FontWeight="Bold" Foreground="White" HorizontalAlignment="Center" /> <AdornedElementPlaceholder /> </Grid> </ControlTemplate> </DataGrid.RowValidationErrorTemplate>
相关文章推荐
- C#及WPF获取本机所有字体和颜色的方法
- WPF MVVM示例讲解
- PowerShell中调用WPF生成炫酷窗口实例
- C#中WPF使用多线程调用窗体组件的方法
- WPF实现渐变淡入淡出的登陆窗口效果
- WPF的数据绑定详细介绍
- WPF绑定实例详解
- 关于WPF使用MultiConverter控制Button状态的详细介绍
- 如何搭建新的WPF项目框架
- 解析WPF实现音频文件循环顺序播放的解决方法
- WPF Toolkit - February 2010 Release
- 使用WPF创建一个Digg桌面应用
- Barcode Professional for WPF
- WPF数据表格支持vs2010
- Silverlight Gantt甘特图银光,WPF,甘特图,Silverlight,Gantt,任务甘特图,资源甘特图
- WPF甘特图开发包(含任务甘特图和资源甘特图)
- WPF设置窗体最前端显示
- PointFromScreen和PointFromScreen的用法和区别
- 刘铁猛-深入浅出WPF-系列资源汇总
- WPF Binding ItemsSource to Enum