我遇到的问题可能很容易解决,但从初学者的角度来看似乎很棘手。
我创建了 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 项目。
这导致另一个问题 - 如何调试绑定,订阅哪个事件(如果有)以检测绑定更改?