TwoWay 绑定不更新控件

TwoWay binding doesn't update controls

我能想到的最简单的例子如下:

TextBox tb1 = new TextBox();
TextBox tb2 = new TextBox();

this.Content = new StackPanel() { Children = { tb1, tb2 } };

Binding binding = new Binding("Text") {
    Mode = BindingMode.TwoWay,
    Source = tb1,
    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
};

tb2.SetBinding(TextBlock.TextProperty, binding);

当我启动我的应用程序时,我希望文本框在其他文本框的文本更改时立即更新它们的文本。但是在更改其他文本框时,源文本框和目标文本框都不会更新其文本。 这种奇怪的行为是否有原因,是否有解决方法?

(由于特定原因,我无法使用 XAML,绑定对我来说一直有效)


更新:第一次更改其中一个文本框的文本时,输出window表示线程0x### # 已退出,代码为 259 (0x103)。

你用错了DependencyProperty

tb2.SetBinding(**TextBlock**.TextProperty, binding);

复制的代码在使用 TextBox.TextProperty

时按预期工作