我正在尝试从代码创建绑定。 MSDN给出了这个例子:
MyData myDataObject = new MyData(DateTime.Now);
Binding myBinding = new Binding("MyDataProperty");
myBinding.Source = myDataObject;
myText.SetBinding(TextBlock.TextProperty, myBinding);
这样它可以正常工作,我正在使用INotifyPropertyChanged
。我的问题是,在设置绑定后,如果我这样做:
MyData myDataObject = new MyData(DateTime.Now);
然后绑定不会与我的新对象一起使用。可见值不再更新。我想我应该以不同的动态方式添加我的绑定源。
答案 0 :(得分:1)
绑定不关心Source,而是必须(非常)稳定。您可以更改的是由PropertyPath和/或Binding构造函数参数指定的实例路径。
答案 1 :(得分:1)
您正在重新创建数据源,因此您需要直接更新绑定:
MyData myDataObject = new MyData(DateTime.Now);
myBinding.Source = myDataObject;
您可能还需要再次致电SetBinding
。