4 绑定高级应用.pptxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4 绑定高级应用

绑定高级应用 课程介绍?更新数据源?数据验证?数据转换BONIZLEE2 前言?能否在绑定控件中修改数据后,内存中也同步更 新。或者内存修改数据后,绑定控件同时更新?在ASP.NET中,有什么办法校验用户输入的内容 是否符合要求?数据实体的类型与显示类型不一致应该如何解决BONIZLEE3 一、数据绑定基本原理?数据绑定提供了一种显示数据并与数据进行交 互的简便方法。?数据的显示方式独立于数据的管理。?UI 和数据对象之间的连接或绑定使数据得以在 这二者之间流动。 ?绑定建立后,如果数据更改,则绑定到该数据的 UI 元素可以自动反映更改。 ?同样,用户对 UI 元素所做的更改也可以在数据对象 中反映出来。BONIZLEE4绑定功能结构图BONIZLEE5 1.1 将数据连接到UI元素?每个绑定都包括指定源和目标?源可以是任意 CLR 对象,包括目标元素自身或 其他 UI 元素?目标可以是 FrameworkElement 的任一 DependencyProperty?从 Windows Phone 8 开始,目标还可以是 Style 中 Setter 的 Value 属性BONIZLEE6 1.2 绑定引擎绑定引擎从 Binding 对象获取以下方面的信息:?源对象和目标对象。?数据流的方向。通过设置 Binding.Mode 属性 指定方向。?值转换器(可选)。通过将 Binding.Converter 属性设置为实现 IValueConverter 的类的实例, 可指定值转换器。?其他设置,例如 StringFormat、 FallbackValue 和 TargetNullValue。BONIZLEE7?在 XAML 中使用 {Binding ...} 语法创建绑定。绑 定源通过在代码中为 TextBox 设置 DataContext 属性而设置。 TextBox x:Name=MyTextBox Text=Text Foreground={Binding Brush1, Mode=OneWay}/ MyColors textcolor = new MyColors(); textcolor.Brush1 = new SolidColorBrush(Colors.Red); MyTextBox.DataContext = textcolor;BONIZLEE8?DataContext是可继承的。如果对父元素设置了 DataContext ,则其所有子元素都将使用这个 DataContext 。?子元素可以通过以下方式来重写此行为:对其绑 定对象设置 Source 属性或者设置其DataContext?如果希望拥有多个绑定且所有这些绑定使用同一 个源,则设置DataContext会很有用。若要设置单 个绑定的源,请对 Binding 对象设置 Source 属 性。BONIZLEE9 二、更新数据源?数据流的方向?更新通知?更新数据源?绑定集合BONIZLEE10 2.1 数据流的方向每个绑定都有一个 Mode 属性,该属性决定数据流动的方式和时间。在 Windows Phone 中,可以使用三种类型的绑定:?创建 OneTime 绑定时,该绑定第一次绑定时使 用源数据更新目标。?创建 OneWay 绑定时以及每当源数据发生变化 时,该绑定使用源数据更新目标。这是默认模式。?当目标和源有一个发生变化时, TwoWay 绑定 既更新目标也更新源。 ?也可以禁用自动源更新,只在触发条件的时间对源进行 更新。BONIZLEE11 2.2 更改通知?为了使源对象的更改能够传播到目标,源必须实 现 INotifyPropertyChanged 接口。? INotifyPropertyChanged 具有 PropertyChanged 事件,该事件通知绑定引擎 源已更改,以便绑定引擎可以更新目标值。BONIZLEE12public class MyColors : INotifyPropertyChanged{ private SolidColorBrush _Brush1; public event PropertyChangedEventHandler PropertyChanged; //定义PropertyChanged事件 public SolidColorBrush Brush1 { get { return _Brush1; } set { _Brush1 = value; // 属性改变时调用NotifyPropertyChanged方法通知更新 NotifyPropertyChanged(Brush1); } } // NotifyPropertyChanged 方法引发PropertyChanged 事件, 传递

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档