我正在尝试使用TabControl,并且被这个
弄得晕头转向<TabControl Name="MainControl">
<TabItem Header="MyTab1">
<TextBlock Text="{Binding Path=SelectedItem.Header, RelativeSource={RelativeSource FindAncestor, AncestorType=TabControl}}"/>
</TabItem>
<TabItem Header="Modules" ContentTemplate="{StaticResource tabItemControl}"/>
</TabControl>
这可以按预期工作。
但是这个:
<TabControl Name="MainControl">
<TabItem Header="MyTab1">
<TextBlock Text="{Binding Path=Header, RelativeSource={RelativeSource FindAncestor, AncestorType=TabItem}}"/>
</TabItem>
<TabItem Header="Modules" ContentTemplate="{StaticResource tabItemControl}"/>
</TabControl>
没有。
知道为什么吗?
selectedItem不是TabItem吗?层次结构中有不同的东西吗?
答案 0 :(得分:2)
如帖子RelativeSource in DataTemplate works with TabControl but not with TabItem所示,TabItem和SelectedContent托管在不同的面板中,因此SelectedItem.Header不起作用,因为它实际上不是tabItem
发布以下帖子中的snoop图片