Silverlight 从Subcrol绑定到主datacontext

Silverlight 从Subcrol绑定到主datacontext,silverlight,data-binding,silverlight-4.0,Silverlight,Data Binding,Silverlight 4.0,假设我有一个显示家庭信息的usercontrol datacontext是此usercontrol之父的Border的一个文本块必须显示族的名称 问题是我在codebehind中绑定了datacontext: this.DataContext=this; 实际上,这个codebehind有将近4k行代码,这就是我现在无法将其转换为MVVM的原因 所以在代码背后,我有很多属性,比如父亲、母亲和家庭名称 我需要在边框中的文本块中显示FamilyName,其中父元素作为DataContext 我该怎

假设我有一个显示家庭信息的usercontrol

datacontext是此usercontrol之父的Border的一个文本块必须显示族的名称

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

this.DataContext=this;
实际上,这个codebehind有将近4k行代码,这就是我现在无法将其转换为MVVM的原因

所以在代码背后,我有很多属性,比如父亲、母亲和家庭名称

我需要在边框中的文本块中显示FamilyName,其中父元素作为DataContext


我该怎么做呢?

您希望能够做的是相对祖先绑定,这将在Silverlight 5中出现。ie:父对象是DataContext的成员,您希望访问DataContext的另一个子对象

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


或者不将整个父控件绑定到父控件。绑定到单个元素,如{Binding Path=Father.FirstName}

谢谢您的回复。我们有些误会。没有家庭这样的财产。在codebehind中,我有父亲和家庭名称等属性。在同一水平上也有许多人。