wpf tabcontrol:根据所选选项卡更改通用选项卡的内容

wpf tabcontrol: Change content of generic tab based on selected tab

MainWindow.xaml:

<TabControl TabStripPlacement="Left">
  <tabs:tab1/>
  <tabs:tab2/>
</TabControl>

tab1.xaml:

<usercontrol:GenericTab >
</usercontrol:GenericTab>

GenericTab.xaml:

<Button Name="btn_Button" Content="{Binding ButtonText, Mode=OneWay }" Command="{Binding ClickCommand}" ></Button>

如何实现以下行为: 如果在 MainWindow 中选择了 tab1,GenericTab.Button-Content 应该是 "hello tab1",如果选择了 tab2,Generictab.Button-Content 应该是 "hello tab2" ?

您可以设置 TabItem 的标签 属性,然后将按钮的内容 属性 绑定到这个。

MainWindow.xaml:

<TabControl TabStripPlacement="Left">
    <TabItem Header="Tab1" Tag="hello tab1">
        <usercontrol:GenericTab />
    </TabItem>
    <TabItem Header="Tab2" Tag="hello tab2">
        <usercontrol:GenericTab />
    </TabItem>
</TabControl>

GenericTab.xaml:

<Button Name="btn_Button" Content="{Binding Path=Tag, RelativeSource={RelativeSource AncestorType=TabItem}}" Command="{Binding ClickCommand}" ></Button>