【发布时间】:2011-10-23 05:36:35
【问题描述】:
我有一个很奇怪的案例.... 我们有一个带有文本框的用户控件,它绑定到绑定源。
BindingSource bindingSource = new BindingSource();
this.bindingSource.Add(this.viewMode);
this.textBox.DataBindings.Add(new Binding("EditValue", "Name", this.bindingSource, OnPropertyChanged));
我们在运行时创建此用户控件的实例并将其添加到列表中,例如。
MyUserControl view = new MyUserControl();
ourViews.Add(view);
如果我们在这个视图上导航,它会被添加到表单中:
MyUserControl view = (MyUserControl)ourViews(0);
this.Controls.Add(view);
此时(我们第一次这样做),绑定运行良好,值在两个方向都得到更新。
之后,其他一些视图被导航并从表单中删除:
this.Controls.Clear();
OtherUserControlView view = (OtherUserControl)ourViews(1);
this.Controls.Add(view);
有时,我们的旧视图会再次导航: MyUserControl 视图 = (MyUserControl)ourViews(0); this.Controls.Add(view);
现在有一个问题。绑定不再更新。我们认识到,绑定实例的 BindingManagerBase 为空(自创建以来我们没有触及绑定)并且绑定的 IsBinding 属性设置为 false。那么是什么原因造成的呢?以及如何再次激活绑定?
感谢您的帮助, 恩尼
【问题讨论】: