0

我在 WPF 窗口中有一个选项卡控件。TabControl 的 Item 源绑定到ObservableCollection<UserControl>其视图模型中。

那么如何设置我的 TabControl 的每个 TabItem 的选项卡标题?

由于我的标签项类型UserControl不是我的,TabItem我不能设置为:

((TabItem)Tabcontrol.Item[0]).Header="Something"

有人有解决方案吗?

TabControl的是:

<TabControl Name="TabControl" Grid.Row="1" 
            ItemsSource="{Binding TabCollection}"
            SelectedIndex="{Binding CurrentIndex}" />
4

1 回答 1

3

您需要为每个 TabItem 设置一个样式,该样式将绑定到Header在您的用户控件上调用的属性。尝试这个:

<Style TargetType="{x:Type TabItem}">
    <Setter Property="Header" Value="{Binding Header}"/>
</Style>

您添加到 tabitem 的每个控件都需要一个属性调用 Header。它不必在接口上声明,绑定就可以工作

这是使用选项卡控件的完整示例。

<TabControl Name="TabControl" Grid.Row="1" ItemsSource="{Binding TabCollection}"  SelectedIndex="{Binding CurrentIndex}"  >
        <TabControl.Resources>
            <Style TargetType="{x:Type TabItem}">
                <Setter Property="Header" Value="{Binding Title}"/>
            </Style>
        </TabControl.Resources>
</TabControl>

该样式由 WPF 自动应用。

于 2013-08-29T09:54:05.883 回答