这样做的例子是:在WPF中如何从代码中获取特定项目的绑定?
一个文本框被绑定到一些数据。还有第二个文本框不绑定任何东西。所以我想将文本框2绑定到第一个文本框绑定的相同数据。
换句话说,我wan't知道如果DependencyObject的卖场一定的参考它的数据绑定?如果不是,找出特定对象的所有数据绑定的方法是什么?
这样做的例子是:在WPF中如何从代码中获取特定项目的绑定?
一个文本框被绑定到一些数据。还有第二个文本框不绑定任何东西。所以我想将文本框2绑定到第一个文本框绑定的相同数据。
换句话说,我wan't知道如果DependencyObject的卖场一定的参考它的数据绑定?如果不是,找出特定对象的所有数据绑定的方法是什么?
试试这个
的XAML
<TextBox Name="textBox1" Text="{Binding Text1}"/>
<TextBox Name="textBox2" Text="No Binding"/>
然后我们就可以使用此代码设置TextProperty的结合为TextBox2中,以相同的textBox1的背后
BindingExpression bindingExpression = textBox1.GetBindingExpression(TextBox.TextProperty);
Binding parentBinding = bindingExpression.ParentBinding;
textBox2.SetBinding(TextBox.TextProperty, parentBinding);
你可以得到的结合使用
System.Windows.Data.BindingOperations.GetBinding(DependencyObject target,DependencyProperty dp)
任何依赖性对象的210
然后设置与
System.Windows.FrameworkElement.SetBinding(DependencyProperty dp, string path)
绑定例如:
var binding = BindingOperations.GetBinding(textBox1,TextBox.TextProperty);
textBox2.SetBinding(TextBox.TextProperty, binding);
谢谢!这就是我一直在寻找的! – Vitalij 2010-10-29 11:38:33
如果我有像'TranslateTransform.XProperty'这样的嵌套特性,该怎么办? – pt12lol 2015-11-29 08:44:40
为什么它必须是'bindingExpression.ParentBinding'? – j00hi 2017-07-25 10:09:18