假设我有一个显示Family
信息的用户控件。
此usercontrol的一个边框文本块(datacontext为Father
)必须显示family的名称。
问题是我在codebehind中绑定了datacontext:
this.DataContext=this;
实际上这个代码隐藏有近4k行代码,这是我目前无法将其转换为MVVM
的原因。
所以在代码隐藏中我有Father
,Mother
和FamilyName
等属性
我需要在边框的textblock中显示FamilyName
,其中Father
为DataContext。
我该怎么做?
答案 0 :(得分:0)
您希望能够做的是相对祖先绑定,它将出现在Silverlight 5中。(即:父是DataContext的成员,您想要访问DataContext的另一个子节点。)。
作为一种变通方法,您可以在Page.Resources中将FamilyName声明为StaticResource,然后绑定到StaticResource。我不确定绑定是否能正常工作。
或者你没有将整个父控件绑定到父亲。绑定到{Binding Path=Father.FirstName}