3

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

4

1 回答 1

2

DataTemplate 中的 RelativeSource 文章所示,可与 TabControl 一起使用,但不能与 TabItem 一起使用,TabItem 和 SelectedContent 托管在不同的面板中,因此 SelectedItem.Header 不起作用,因为它实际上不是 tabItem

从下面的较早帖子中发布窥探图像 在此处输入图像描述

于 2013-03-13T09:04:07.657 回答