Wpf 使用数据绑定获取TabItem的索引

Wpf 使用数据绑定获取TabItem的索引,wpf,binding,Wpf,Binding,在TabControl的binding ItemsSource中,当我添加新的TabItem时,它是可见的,但未被选中。我想更改TabControl的SelectedIndex,但我不知道如何从最近创建的TabItem中获取此索引。请帮助。尝试这样做,假设TabControl是控件id tabControl.SelectedIndex = 0; SelectedIndex是TabControl的公共(获取和设置)属性。阅读更多关于 您可以阅读有关数据投标的更多信息@ 希望这能奏效。t

在TabControl的binding ItemsSource中,当我添加新的TabItem时,它是可见的,但未被选中。我想更改TabControl的SelectedIndex,但我不知道如何从最近创建的TabItem中获取此索引。
请帮助。

尝试这样做,假设
TabControl
是控件id

 tabControl.SelectedIndex = 0;
SelectedIndex
TabControl
的公共(获取和设置)属性。阅读更多关于

您可以阅读有关数据投标的更多信息@


希望这能奏效。

tabControl.SelectedIndex=tabControl.Items.Count-1

或者您可以绑定
SelectedItem
,并将新的
TabItem
指定为
SelectedItem

这会更干净。

选项卡项具有IsSelected依赖项属性。 你就这么做

tabItem.IsSelected = true. 
我相信新标签将为您选择

您可以为TabItem控件创建ItemContainerStyle,并将IsSelected与TabItems绑定

<TabControl x:Name="_tabControl" ItemsSource="{Binding .....}">
<TabControl.ItemContainerStyle>
    <Style TargetType="TabItem">
        <Setter Property="IsSelected" Value="{Binding TabSelected}"/>

    </Style>
</TabControl.ItemContainerStyle>


如果您使用的是MVVM,那么

<TabControl ItemsSource="{Binding Path=MySource}" 
            SelectedItem="{Binding Path=MyItem,Mode=Twoway}" 
            SelectedIndex="{Binding Path=MyIndex,Mode=TwoWay}"></TabControl>

在这里,有界的属性都是视图中的模型和激发属性chnaged(我把它的实现留给您)


因为我们已经添加了
Mode=TwoWay
,所以如果您在视图模型中向集合中添加了一个新项,则可以将其设置为
MySource.add();我的项目=它将在视图中被选中,如果需要,您还将获得SelectedIndex。

tabControl1.SelectedIndex=1


tabControl1.SelectedIndex=tabControl1.items.count-1

是否要选择当前添加的TabItem或将其索引用于其他目的??选择当前添加的选项卡项查看下面的我的答案。。这应该对你有帮助。如果有打字错误,很抱歉。这个问题的标题有误导性。我想绑定到选项卡项的索引,正如标题所示。但问题不是这样的。我使用MVVM模式,所以没有TabControl的实例很好的解决方案,但不适合MVVM模式;我不能这样做,因为我在TabControl上使用模板,所以不是TabItem,我有一个错误。MyItem的类型应该是MySourceI使用模板中保存的项目类型,所以我必须创建自己的类来绑定。@较冷的模板将在视图级别使用。。。。在viewModel级别,如果绑定到
TabControl
的某个模型类(如
ObservableCollection
)将创建一个集合,那么将根据添加到集合中的人数创建
TabItems
。。。所以你添加的人就是你的tabItem。。。