TabControl.SelectedItem不是TabItem? RelativeSource绑定失败

时间:2013-03-08 11:55:23

标签: c# wpf binding tabcontrol relativesource

我正在尝试使用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吗?层次结构中有不同的东西吗?

1 个答案:

答案 0 :(得分:2)

如帖子RelativeSource in DataTemplate works with TabControl but not with TabItem所示,TabItem和SelectedContent托管在不同的面板中,因此SelectedItem.Header不起作用,因为它实际上不是tabItem

发布以下帖子中的snoop图片 enter image description here