效果:绑定源对象字符串属性变化触发绑定目标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
}