我正在尝试使用 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 吗?层次结构有什么不同吗?
最佳答案
如帖子 RelativeSource in DataTemplate works with TabControl but not with TabItem 中所示,TabItem 和 SelectedContent 托管在不同的面板中,因此 SelectedItem.Header 不起作用,因为它实际上不是 tabItem
发布下面之前帖子中的窥探图片
关于c# - TabControl.SelectedItem 不是 TabItem?相对源绑定(bind)失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15293434/