我有一个带有选项卡控件的WPF窗口,我在XAML文件中定义了TabItems,如:
<TabControl>
<TabItem Name="tab1" Tag="Transactions"/>
<TabItem Name="tab2" Tag="Promotions" />
...
</TabControl>
在屏幕上的其他地方,我有一个文本块,我想用它来显示所选标签的标签值。它在初始加载屏幕时起作用,并且每当选择“事务”选项卡时,但是当选择了不同的选项卡时,它是空白的。为什么会这样,如何让它显示任何选定标签的标签?这是TextBlock:
<TextBlock Text="{Binding ElementName=tabControl1, Path=SelectedItem.Tag}"/>
答案 0 :(得分:0)
这对我来说是预期的。 (你确实设置了TabControl的名称,对吗?)
请注意,如果通过ItemsSource填充TabControl,与示例代码不同,SelectedItem将不包含TabItem,而是包含创建TabItem的数据对象,因此绑定路径SelectedItem.Tag
不起作用。
使用的代码:
<!-- Both controls enclosed in a Stackpanel -->
<TabControl Name="tabControl1">
<TabItem Name="tab1" Tag="Transactions"/>
<TabItem Name="tab2" Tag="Promotions" />
</TabControl>
<TextBlock Text="{Binding ElementName=tabControl1, Path=SelectedItem.Tag}"/>
标签标题显然是空的,但它们是可选的。