如何以编程方式在两个单独的窗口上添加DependencyProperty对象之间的WPF绑定

too*_*too 3 c# wpf binding dependency-properties

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

我创建了两个同时可见的窗口,一个带有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);
Run Code Online (Sandbox Code Playgroud)

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

你可以在这里下载虚拟VS2010项目.

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

too*_*too 7

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