WPF高级教程(十一)绑定说明

18 篇文章 39 订阅

概念

绑定是一种关系,告诉目标对象使用原对象的一些信息设置其属性值。

分类

绑定关系分为很多种,但是本质上来说是 目标对象的属性源对象的属性 进行绑定。

我们这里我们要求:

  • 目标对象的属性必须是依赖项属性(这点很好理解,依赖项属性提供了让对象可以根据数据源改变的能力)
  • 源对象属性可以是任何内容,包括依赖项属性,其他WPF元素,甚至是ADO.NET数据对象

通过上面的说明我们发现,绑定这块的内容还是比较多的,其复杂表现在源对象的类型比较多变,我们将其分为两类:

  • 元素绑定:源对象是 WPF元素并且源属性是依赖项属性。
  • 数据绑定:源对象为其他对象(这里涵盖较多,我们之后还会讨论)

如何绑定

要实现一个属性变化,另一个属性跟着变化这样的功能,我们正常思考,需要两个条件:

  • 源属性在变化的时候通知出去
  • 目标属性能够监听通知并且在接到通知的时候能够进行改变自己的值

我们之前讲了目标属性必须是依赖项属性,那目标属性监听,修改自身就没有问题,问题就出在源属性上面,对于一个普通的对象,或是一个ADO.NET数据对象来说,本身自己是没有通知的能力的,而对于依赖项属性来说,它具有通知能力,所以 元素绑定更简单(不需要我们做额外操作就能绑定),数据绑定更复杂(需要我们调教一下源属性才能实现绑定)

绑定的讲解计划

前面铺垫了这么多,想必大家对于绑定分为哪几种已经有了一定的认识,这里需要说的是,绑定是WPF中很关键的技术,也是我们之后使用MVVM的设计模式的基础,十分的重要,所以我们计划分为三篇文章来讲解绑定。

  • 元素绑定
  • 数据绑定
  • 绑定实战手册

前两篇针对绑定的两种分类进行讲解,最后一篇总结所有的绑定方式,以供使用的时候查询。

下一篇文章我们就先讲解元素绑定,在讲解完了模板,样式等知识之后我们再讲解数据绑定,最后总结绑定的实战手册。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF Model数据绑定通常使用MVVM(Model-View-ViewModel)模式来实现,其中ViewModel充当数据模型和视图之间的桥梁。以下是一个简单的示例: 首先,定义一个数据模型类,例如: ```csharp public class Person { public string Name { get; set; } public int Age { get; set; } } ``` 接下来,定义一个ViewModel类,它包含一个Person对象和一个用于更新Person数据的方法: ```csharp public class PersonViewModel : INotifyPropertyChanged { private Person _person; public Person Person { get { return _person; } set { _person = value; OnPropertyChanged("Person"); } } public void UpdatePerson(string name, int age) { Person.Name = name; Person.Age = age; OnPropertyChanged("Person"); } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } ``` ViewModel实现了INotifyPropertyChanged接口,使得当Person对象的属性被修改时,可以通知视图更新数据。 最后,将ViewModel绑定到视图上,例如: ```xaml <Window.DataContext> <local:PersonViewModel /> </Window.DataContext> <StackPanel> <TextBox Text="{Binding Person.Name}" /> <TextBox Text="{Binding Person.Age}" /> <Button Content="Update" Click="Button_Click" /> </StackPanel> ``` 在这个例子中,TextBox的Text属性绑定到Person对象的Name和Age属性,Button的Click事件绑定到ViewModel中的UpdatePerson方法。 当用户输入Name和Age后,点击Update按钮,ViewModel中的UpdatePerson方法将更新Person对象的属性,然后通过INotifyPropertyChanged通知视图更新数据。 这就是WPF Model数据绑定的基本实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值