WPF中的绑定杂记

本文介绍了一个使用WPF实现的双向绑定案例,通过自定义数据类`MyData`实现了属性改变通知机制,并将其绑定到UI元素上,展示了如何在主线程外更新UI并保持数据同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果:绑定源对象字符串属性变化触发绑定目标UI Text属性变化

用到的知识点:

如何建立绑定

单向双向绑定

绑定源触发目标的属性变化



/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MyData myDataObject = new MyData(DateTime.Now);
Binding myBinding = new Binding("MyDataProperty");
myBinding.Source = myDataObject;
myBinding.Mode = BindingMode.TwoWay;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
myText.SetBinding(TextBlock.TextProperty, myBinding);


}
}


public class MyData : INotifyPropertyChanged

{
public MyData(DateTime dt)
{
new Thread(new ThreadStart(delegate
{
Thread.Sleep(5 * 1000);
for (int i = 0; i < 1000; i++)
{
MyDataProperty = i.ToString();
Thread.Sleep(100);
}
})) { IsBackground = true }.Start();
}
private String myDataProperty = "sb";
public String MyDataProperty
{
get { return myDataProperty; }
set
{
myDataProperty = value;
PropertyChanged.Invoke(this, new PropertyChangedEventArgs("MyDataProperty"));
}
}

#region INotifyPropertyChanged 成员

public event PropertyChangedEventHandler PropertyChanged;

#endregion
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值