如何覆盖第一个内部堆栈面板的数据上下文...这样......我可以引用A类中的属性
Class A
{
public B b;
}
Class B
{
}
<stack panel DataContext = b >
<stack panel>
// HEre I use properties from class A
</stack panel>
<stack panel>
// HEre I use properties from class B
</stack panel>
<stack panel>
// HEre I use properties from class B
</stack panel>
<stack panel>
// HEre I use properties from class B
</stack panel>
</stack panel>
答案 0 :(得分:3)
Class A
{
// B Should b a property
public B B{get; set;};
}
Class B
{
}
<!-- Set A's Context here -->
<StackPanel DataContext=A>
<StackPanel>
// HEre you use properties from class A
</StackPanel>
<StackPanel DataContext={Binding Path=B}>
// HEre you use properties from class B
</StackPanel>
<StackPanel DataContext={Binding Path=B}>
// HEre you use properties from class B
</StackPanel>
<StackPanel DataContext={Binding Path=B}>
// HEre you use properties from class B
</StackPanel>
</StackPanel>
答案 1 :(得分:0)
取决于您的课程实际设置方式,有几种方式。
创建一个引用Object的父类的关联属性。如果B类是A类的子类,那么B类中可以有一个属性引用A对象包含它。当您的DataContext设置在顶级堆栈面板上时,您的第一个孩子可能会有类似DataContext =“{Binding Parent}”的内容,其中parent是引用ClassA的属性。
只需将顶级堆栈面板中的DataContext设置为ClassA绑定,将第一个子节点留空,并将其设置为每个连续堆栈面板的b属性。
如果我理解你的权利,请告诉我。我可能需要更多关于你的程序和问题的背景知识。
此外,最好复制/粘贴实际代码,而不是随意输入。真正的代码通常会为问题提供更好的背景。