绑定到Silverlight中的另一个控件

时间:2009-10-14 16:58:24

标签: silverlight binding

有没有办法绑定到另一个控件的实例?像这样:

<Button x:Name="Foo" Content="Foo" />
<local:CustomControl OtherControl="{Binding Foo}" />

我已经尝试在MainPage的构造函数中将DataContext设置为“this”,但它似乎不起作用。

CustomControl的定义如下:

class CustomControl
{
    public FrameworkElement OtherControl { get; set; }
}

3 个答案:

答案 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}" />