WPF之数据绑定


WPF数据邦定: 
/***********************************************/ 
界面到数据源 自动。数据源到界面。 
 
数据绑带四要素: 
1.目标对象 
2.目标属性。 
3.源对象。 
4.绑定路径。 
 
绑定模式: 
1.OneWay:数据源 --->绑定目标; 
2.TwoWay:数据员 <--->绑定目标; 
3.OneWayToSource: 数据源 <-- 绑定目标; 
4.OneTime: 数据源仅仅初始化绑定目标,并不反映后续更新。 
 
(INotifyPropertyChanged接口) 
 
更新触发模式: 
 
UpdateSourceTrigger枚举值(Binding对象属性) 
 
PropertyChanged:任何改变,立即反映到数据源。 
LostFocus:只有失去焦点时才反映到数据源。 
Explicit:显示调用BindingExpression.UpdateSource,才反映到数据源。 
 
 
集合绑定: 
绑定数据源:集合对象。 
绑定目标:ItemsControl控件。 
绑定目标属性:ItemControl.ItemsSource属性。 
 
绑定源与绑定目标 
绑定源对象要求: 
1.实现IEnumerable接口支持集合元素遍历 
2.实现INotifyCollectionChanged支持更新通知。 
3.Utility:WPF提供有方便的ObservableCollection类(就是.Net的内部实现的) 
 
绑定目标要求: 
继承ItemsControl类,并实现ItemsSource与UI界面的交互逻辑,成为一个集合控件。 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值