有没有办法绑定到另一个控件的实例?像这样:
<Button x:Name="Foo" Content="Foo" />
<local:CustomControl OtherControl="{Binding Foo}" />
我已经尝试在MainPage的构造函数中将DataContext设置为“this”,但它似乎不起作用。
CustomControl的定义如下:
class CustomControl
{
public FrameworkElement OtherControl { get; set; }
}
答案 0 :(得分:7)
不确定您要做什么,但在Silverlight 3中,您可以使用元素绑定绑定到控件上的属性。
<Button x:Name="Foo" Content="Foo" />
<local:CustomControl x:Name="control" Property="{Binding Path=Content, ElementName=Foo}" />
在代码中你总是可以分析绑定并从中获取元素吗?
control.GetBindingExpression(特性).ParentBinding.Source
答案 1 :(得分:1)
在Silverlight 2中是不可能的:
Silverlight 2不允许您将一个元素绑定到另一个元素。相反,所有绑定都是数据 对象。 (你可以使用中间对象解决这个问题,但增加的不便意味着 这很少值得。)
答案 2 :(得分:1)
<Button x:Name="Foo" Content="Foo" />
<local:CustomControl x:Name="control" OtherControl="{Binding ElementName=Foo}" />