C# 如何以编程方式在两个单独窗口上的DependencyProperty对象之间添加WPF绑定
我遇到的问题可能很容易解决,但从初学者的角度来看似乎很棘手 我创建了两个同时可见的窗口,一个上面有ListBox,另一个上面有TextBox。我想以编程方式将window1.ListBox.SelectedValue绑定到window2.TextBox.Text属性。我没有使用值转换器 代码很简单:C# 如何以编程方式在两个单独窗口上的DependencyProperty对象之间添加WPF绑定,c#,wpf,binding,dependency-properties,C#,Wpf,Binding,Dependency Properties,我遇到的问题可能很容易解决,但从初学者的角度来看似乎很棘手 我创建了两个同时可见的窗口,一个上面有ListBox,另一个上面有TextBox。我想以编程方式将window1.ListBox.SelectedValue绑定到window2.TextBox.Text属性。我没有使用值转换器 代码很简单: var binding = new Binding("SelectedValue"); binding.Source = window1.ListBox; // b
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项目
这引出了另一个问题-如何调试绑定,订阅哪个事件(如果有的话)来检测绑定更改?问题已解决-我错误地将TextBlock.TextProperty称为SetBinding,而它应该是TextBox.TextProperty。您的两个窗口是在App.xaml.cs中分别创建的吗?还是一个窗口打开另一个窗口(即一个窗口是另一个窗口的父窗口)?window1创建为主窗口,window2在第一个AppActivate上创建。