c# - 添加新 TabItem 时更改 TabControl SelectedIndex
问题描述
我做了一个按钮来在我的 TabControl 中添加一个新的 TabItem。它工作得很好,但是当我添加一个新的 TabItem 时,我希望 SelectedIndex 位于新的 TabItem 上。的代码
private void AddNewTabItem(object sender, MouseButtonEventArgs e)
{
...
tabControl.Items.Add(tabItem);
tabControl.SelectedIndex = tabControl.Items.Count - 1;
}
但这不起作用,因为新的 TabItem 是在链接到我的按钮单击的所有函数都执行后创建的。因此,当我更改 SelectedIndex 时,尚未创建新的 TabItem。
我在 TabControl 类上搜索了 triggerEvent,例如“WhenItemsChange”,但我什么也没找到。
感谢您的帮助,如果不清楚,对不起。
解决方案
您可以创建默认选中的 TabItem。
如果ti
已经是 TabItem,只需写
ti.IsSelected = true;
tabControl.Items.Add(ti);
如果没有,请为 TabControl 分配适当的样式ItemContainerStyle
:
<TabControl x:Name="tabControl">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="IsSelected" Value="True"/>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>