举个简单的例子:
比如textbox1的text属性绑定到textbox2的text,模式为twoway,这样在界面上用手工编辑textbox1的文本内容,textbox2的text自动跟着改变,这没问题,但如果我想用代码修改textbox1的text,textbox2的text仍然能自动跟着改变,并且能够保留原先的绑定关系,该如何处理呢?
如果直接用等号赋值,将会破坏绑定。如果需要保留绑定,可以使用下面的代码更新值
textbox1.SetCurrentValue(TextBox.TextProperty, "要设置的值");
// 具有绑定,则从界面更新到源
var be = textbox1.GetBindingExpression(TextBox.TextProperty);
if (be != null)
{
be.UpdateSource();
}
非常感谢!
输入和用代码修改都可以。
楼上正解