从子控件绑定到主datacontext

时间:2011-10-20 14:53:01

标签: silverlight data-binding silverlight-4.0

假设我有一个显示Family信息的用户控件。

此usercontrol的一个边框文本块(datacontext为Father)必须显示family的名称。

问题是我在codebehind中绑定了datacontext:

this.DataContext=this;

实际上这个代码隐藏有近4k行代码,这是我目前无法将其转换为MVVM的原因。

所以在代码隐藏中我有FatherMotherFamilyName等属性

我需要在边框的textblock中显示FamilyName,其中Father为DataContext。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您希望能够做的是相对祖先绑定,它将出现在Silverlight 5中。(即:父是DataContext的成员,您想要访问DataContext的另一个子节点。)。

作为一种变通方法,您可以在Page.Resources中将FamilyName声明为StaticResource,然后绑定到StaticResource。我不确定绑定是否能正常工作。

或者你没有将整个父控件绑定到父亲。绑定到{Binding Path=Father.FirstName}

等单个元素