WPF中的数据绑定概述

一、什么是 WPF 数据绑定?

一句话定义:
数据绑定 = 让界面控件 和 后台数据 自动同步。
  • 数据变 → 界面自动变
  • 界面改 → 数据自动改
  • 不用手动赋值、不用手动刷新
这就是 WPF 强大的根本原因。

二、数据绑定的核心三要素

任何绑定都必须有这 3 个东西:
  1. 目标(Target)
    界面上的控件属性(如 Text、Width、Source)
  2. 源(Source)
    后台数据(变量、对象、集合、属性)
  3. 绑定路径(Path)
    要绑定数据源的哪个属性

三、最基础语法(必背)

1 {Binding 路径/属性名}

最简单示例:

1 <TextBlock Text="{Binding Name}" />

四、数据绑定的 4 种模式(Mode)

决定数据怎么同步:
  1. OneWay
    数据变 → 界面变(只读展示)
  2. TwoWay
    双向同步(输入框、勾选框必用)
  3. OneWayToSource
    界面变 → 数据变(极少用)
  4. OneTime
    只初始化一次(高性能)
最常用:TwoWay、OneWay

五、数据源从哪里来?(4 种来源)

  1. DataContext(最常用、MVVM 核心)
1 <Window DataContext="{Binding MyViewModel}">

        2.RelativeSource 相对绑定

  绑定到自己、父元素

  3.ElementName 绑定界面其他控件

1 <TextBlock Text="{Binding Text, ElementName=txtInput}" />

  4.StaticSource 静态资源

六、MVVM 与数据绑定

MVVM 完全依赖数据绑定:
  • Model:数据
  • ViewModel:提供可绑定属性 + 命令
  • View:界面,只做绑定,不写逻辑
View 与 ViewModel 之间 0 耦合,全靠绑定通信。

七、让绑定 “自动更新” 的关键接口

如果希望后台数据变了,界面自动刷新,必须实现:

1. INotifyPropertyChanged

属性变更通知(单个属性)

2. INotifyCollectionChanged

集合变更通知(ObservableCollection)
这是 WPF 绑定能自动刷新的底层原理。

八、常用高级功能

  1. 转换器(IValueConverter)
    数据值 → 界面显示值(如 男 / 女 → 蓝色 / 粉色)
  2. 数据触发器(DataTrigger)
    根据数据值改变样式
  3. 命令绑定(ICommand)
    按钮点击绑定到后台方法(MVVM)
  4. 校验(Validation)
    输入合法性检查

九、一句话总结(最核心)

WPF 数据绑定 = 界面与数据自动同步的桥梁,是 MVVM 的灵魂。
posted on 2026-03-26 11:37  工业搬砖猿Lee  阅读(27)  评论(0)    收藏  举报