3

我遇到的问题可能很容易解决,但从初学者的角度来看似乎很棘手。

我创建了 2 个同时可见的窗口,一个带有 ListBox,另一个带有 TextBox。我想以编程方式将 window1.ListBox.SelectedValue 绑定到 window2.TextBox.Text 属性。我没有使用价值转换器。

代码很简单:

      var binding = new Binding("SelectedValue");
      binding.Source = window1.ListBox;
//      binding.Path = new PropertyPath(ListBox.SelectedValueProperty);
      var bound = window2.TextBox.SetBinding(TextBlock.TextProperty, binding);

出于性能原因,我想使用 DependencyProperty 实例而不是属性名称进行绑定,但我也尝试按名称绑定。绑定只是不起作用。

您可以在此处下载虚拟 VS2010 项目。

这导致另一个问题 - 如何调试绑定,订阅哪个事件(如果有)以检测绑定更改?

4

1 回答 1

7

问题已解决 - 我错误地使用 TextBlock.TextProperty 调用了 SetBinding,而它应该是 TextBox.TextProperty。

于 2012-06-07T08:50:50.293 回答