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