通八洲科技

WPF怎么实现数据绑定 WPF MVVM数据绑定方法

日期:2025-12-13 00:00 / 作者:php中文网
WPF数据绑定依赖DependencyProperty和INotifyPropertyChanged,ViewModel需实现该接口并触发PropertyChanged事件,View通过DataContext关联ViewModel,Binding路径须为public属性且区分大小写,集合应使用ObservableCollection。

WPF 中的数据绑定核心是 依赖属性(DependencyProperty)INotifyPropertyChanged 接口,MVVM 模式下,View 绑定 ViewModel 的属性,靠的是这两者配合实现自动更新。

ViewModel 必须实现 INotifyPropertyChanged

这是让 UI 感知数据变化的关键。不实现它,修改属性值后界面不会刷新。

示例:

public class MainViewModel : INotifyPropertyChanged
{
private string _title = "默认标题";
public string Title
{
get => _title;
set
{
if (_title != value)
{
_title = value;
OnPropertyChanged(); // 自动获取属性名
}
}
}

public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}

View 中通过 DataContext 关联 ViewModel

绑定生效的前提是 View 知道该找谁要数据。通常在窗口或控件初始化时设置 DataContext

XAML 中写 Binding 表达式

绑定语法灵活,常见写法有:

注意:Binding 路径区分大小写,且只支持 public 属性,不支持字段。

集合绑定要选对类型

如果绑定的是列表(比如显示商品列表),ViewModel 中的集合必须是 ObservableCollection 或其它能触发通知的集合类型。

基本上就这些。WPF 数据绑定不复杂但容易忽略细节,关键是 ViewModel 可通知、View 有上下文、Binding 写对路径——三者齐备,自动联动就跑起来了。