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 は異なるパネルでホストされているため、実際には tabItem ではないため、SelectedItem.Header は機能しません。

以下、以前の投稿のスヌープ画像を掲載 ここに画像の説明を入力

于 2013-03-13T09:04:07.657 に答える